home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 095 / rbbsdoc1.arc / RBBS-PC.DOC
Text File  |  1987-03-14  |  338KB  |  6,500 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                        REMOTE BULLETIN BOARD SYSTEM
  14.  
  15.                                   for the
  16.  
  17.                            IBM Personal Computer
  18.  
  19.                               Version CPC15.1
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.                  Copyright 1983, 1984, 1985, 1986, 1987
  28.  
  29.                                     by
  30.  
  31.                         D. Thomas Mack
  32.                         10210 Oxfordshire Road
  33.                         Great Falls, Virginia 22066
  34.                         VOICE    -- (703) 759-4357
  35.                         DATA  #1 -- (703) 759-5049
  36.                               #2 -- (703) 759-9659
  37.  
  38.                         Jon Martin
  39.                         4396 N. Prairie Willow Ct.
  40.                         Concord, California 94521
  41.                         DATA  -- (415) 689-2090
  42.  
  43.                         Ken Goosens
  44.                         5020 Portsmouth Road
  45.                         Fairfax, Virginia 22032
  46.                         DATA  #1 -- (202) 537-7475
  47.                               #2 -- (202) 537-7945
  48.  
  49.                               March 15, 1987
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  67.  
  68.                         TABLE OF CONTENTS                            Page
  69.                         -----------------                            ----
  70.  
  71.  1.0  INTRODUCTION                                                      5
  72.       1.1  The Capital PC User Group
  73.       1.2  The "contributions" requested for RBBS-PC
  74.       1.3  The "history" behind RBBS-PC                                 6
  75.       1.4  RBBS-PC Update Conventions                                  11
  76.       1.5  Beta Test Sites, Where and Why                              12
  77.       1.6  An Example of "Users Helping Users"                         14
  78.       1.7  What's new with CPC15.1A                                    15
  79.  
  80.  2.0  RBBS-PC "BASE-LINE" HARDWARE REQUIREMENTS                        19
  81.  
  82.  3.0  RBBS-PC's SUPPORT POLICIES                                       20
  83.       3.1  RBBS-PC's Vendor Support Policy
  84.       3.2  RBBS-PC's User Support Policy                               23
  85.  
  86.  4.0  OPERATING SYSTEM REQUIREMENTS                                    24
  87.  
  88.  5.0  HOW TO GET A COPY OF RBBS-PC SENT TO YOU                         24
  89.  
  90.  6.0  FILES RBBS-PC USES                                               25
  91.       6.1  RBBS-PC System Files                                        26
  92.       6.2  RBBS-PC Text Files                                          28
  93.  
  94.  7.0  INSTALLING RBBS-PC FOR THE FIRST TIME                            29
  95.  
  96.  8.0  THE MOST COMMON PROBLEMS ENCOUNTERED WHEN INSTALLING RBBS-PC     34
  97.  
  98.  9.0  SETTING UP THE USER INTERFACE                                    35
  99.       9.1  Menus Shown to Callers                                      36
  100.       9.2  Subsystem Prompts Shown to Callers
  101.       9.3  Commands Available to Callers                               37
  102.       9.4  RBBS-PC's "Wrap-around" Command Search
  103.       9.5  How to Have a Single Universal Command Line                 38
  104.  
  105. 10.0  IDENTIFYING AND INDIVIDUATION OF CALLERS                         39
  106.       10.1  How to Set up Identifying and Individuation of Fields      40
  107.       10.2  Preloading Identities for Instant Access                   41
  108.  
  109. 11.0  RBBS-PC'S OPTIONAL AUTOMATIC SUBSCRIPTION MANAGEMENT             42
  110.       11.1 Setting it Up                                               43
  111.       11.2  An Example
  112.  
  113. 12.0  USING THE "CONFIG" UTILITY TO CUSTOMIZE RBBS-PC                  44
  114.       12.1  Global RBBS-PC Parameters (Part 1 of 3)
  115.       12.2  Global RBBS-PC Parameters (Part 2 of 3)                    47
  116.       12.3  Global RBBS-PC Parameters (Part 3 of 3)                    49
  117.       12.4  Parameters for RBBS-PC "Text" Files
  118.       12.5  Parameters for RBBS-PC "System" Files                      52
  119.       12.6  Parameters for RBBS-PC "Doors"                             53
  120.       12.7  Parameters for RBBS-PC's Security                          54
  121.       12.8  Parameters for Multiple RBBS-PC's/Conferences              55
  122.       12.9  RBBS-PC SYSOP Utilities                                    57
  123.       12.10 Use of DOS Subdirectories                                  58
  124.       12.11 Communications Parameters                                  60
  125.       12.12 Parameters for RBBS-PC NET-MAIL                            63
  126.       12.13 New Users Parameters                                       64
  127.  
  128.  
  129.  
  130.                        Page 2 of 135
  131. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  132.  
  133.                         TABLE OF CONTENTS (continued)                Page
  134.                         -----------------------------                ----
  135.  
  136. 13.0  THE HAYES MODEM SWITCH SETTINGS AND CONSIDERATIONS               64
  137.       13.1  Hayes Modem Switch Setting Considerations
  138.       13.2  Hayes Command's Considerations                             65
  139.             13.2.1 Command to Initialize the Modem                     66
  140.             13.2.2 Command to Set Up the Modem
  141.             13.2.3 Command to Determine What Ring to Answer On         67
  142.             13.2.4 Command to Answer the Phone
  143.             13.2.5 Command to Take the Phone Off the Hook
  144.  
  145. 14.0  RBBS-PC's FILE MANAGEMENT SYSTEM                                 67
  146.       14.1  Using a Single Master Directory                            70
  147.       14.2  Reasons It May NOT be Possible to Use
  148.                      a Single  FMS Directory                           71
  149.  
  150. 15.0  SETTING UP ".BAT" FILES FOR RBBS-PC                              72
  151.  
  152. 16.0  THE USE OF RBBS-PC "DOORS"                                       73
  153.  
  154. 17.0  THE SECURITY FEATURES OF RBBS-PC                                 76
  155.       17.1  RBBS-PC's Security Features
  156.       17.2  Examples of Uses for RBBS-PC's Security System             77
  157.       17.3  How to Implement the Password File                         78
  158.       17.4  How to Implement the Security for Download Files
  159.       17.5  How to Implement the Security for RBBS-PC Commands         80
  160.       17.6  Beware of the "Trojan Horse"                               81
  161.  
  162. 18.0  SYSOP FUNCTIONS                                                  82
  163.       18.1  SYSOP Commands Within RBBS-PC
  164.       18.2  SYSOP's Use of Function Keys                               83
  165.  
  166. 19.0  DOS LIMITATIONS ON RUNNING PROGRAMS REMOTELY                     85
  167.       19.1  How to Get DOS to Monitor Carrier Detect
  168.       19.2  How to Redirect Graphic Displays to Remote Users           86
  169.  
  170. 20.0  CONFERENCING WITH RBBS-PC                                        86
  171.  
  172. 21.0  RBBS-PC's QUESTIONNAIRE FACILITY                                 88
  173.  
  174. 22.0  RBBS-PC's Standard Interface for Protocol Drivers                91
  175.       22.1  Parameters passed to a protocol driver
  176.       22.2  Parameters returned by a protocol driver                   92
  177.       22.3  The protocol drivers available for RBBS-PC                 93
  178.             22.3.1 Columbia University's KERMIT Protocol
  179.             22.3.2 YMODEM, YMODEMG, and IMODEM
  180.             23.3.3 Windowed XMODEM
  181.  
  182. 23.0  UPLOADED FILE TIPS                                               94
  183.  
  184. 24.0  DUE WARNING AND SYSOP'S LEGAL LIABILITY                          94
  185.  
  186. 25.0  COMPILING AND LINKING RBBS-PC                                    95
  187.       25.1  Compiling CONFIG and RBBS-PC
  188.       25.2  LINKing CONFIG                                             96
  189.       25.3  LINKing RBBS-PC                                            97
  190.  
  191. 26.0  LIMITED LICENSE                                                  97
  192.  
  193. 27.0  LIMITED WARRANTY                                                 97
  194.  
  195.                        Page 3 of 135
  196. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  197.  
  198.                         TABLE OF CONTENTS (continued)                Page
  199.                         -----------------------------                ----
  200.  
  201. 28.0  UPGRADING FROM CPC14-1D TO CPC15-1A                              97
  202.  
  203. 29.0  PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE                  98
  204.  
  205. 30.0  RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD                 99
  206.  
  207. APPENDICES:
  208.  
  209.      A -- RBBS-PC Record Formats                                      101
  210.  
  211.      B -- RBBS-PC in a DESQview Environment                           105
  212.  
  213.      C -- RBBS-PC in a MultiLink Environment                          109
  214.  
  215.      D -- RBBS-PC in a CORVUS Network                                 111
  216.  
  217.      E -- RBBS-PC in an ORCHID or AST PCnet Network                   112
  218.  
  219.      F -- RBBS-PC in an Alloy PC-Slave/16 Environment                 115
  220.  
  221.      G -- RBBS-PC in a 10 Net Network                                 117
  222.  
  223.      H -- RBBS-PC and the Hearing-Impaired                            118
  224.  
  225.      I -- RBBS-PC and the IBM PCjr                                    119
  226.  
  227.      J -- RBBS-PC Subscription Service                                121
  228.  
  229.      K -- RBBS-PC National Listing Service                            122
  230.  
  231.      L -- RBBS-PC and the Ark-Paradyne Modem Switch Settings          123
  232.  
  233.      M -- RBBS-PC and the Anchor Signalman Express (MK12)             125
  234.  
  235.      N -- RBBS-PC and the Everex 2400                                 126
  236.  
  237.      O -- RBBS-PC and the Prometheus 2400 Baud modem                  127
  238.  
  239.      P -- RBBS-PC and the U.S. Robotics Modems Switch Settings        128
  240.  
  241.      Q -- RBBS-PC and the FASTCOMM 2496 Turbo Modem                   129
  242.  
  243.      R -- RBBS-PC and the AT's RS-232 Cable                           131
  244.  
  245.      S -- RBBS-PC and BASIC Compiler Patches for "Doors"              132
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.                        Page 4 of 135
  261. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  262.  
  263. 1.0 INTRODUCTION
  264. ----------------
  265. RBBS-PC  is  a Remote Bulletin Board System for the IBM personal  computer,
  266. hence  the name RBBS-PC.   RBBS-PC has two fundamental purposes --
  267.  
  268.    A.  to be a catalyst for the free exchange of information, and
  269.    B.  to serve as an educational example of what can be done with BASIC.
  270.  
  271. I distribute  RBBS-PC  under  the  trademark  "Userware" because RBBS-PC is
  272. the  sure  and  present  proof that software which is shared becomes better
  273. than it  was.    RBBS-PC  is  the  result of many thousands of man-hours of
  274. effort   and  is  what  it   is   today   because  of  the  many   software
  275. contributions  and suggestions  by  members  of the Capital PC Users  Group
  276. and others.    Everyone has something  that they believe strongly in.   For
  277. me  it  is the "Userware" concept and the  free  exchange  of  information.
  278. As John Naisbitt states in his book, MEGATRENDS,
  279.  
  280.          "...the new source of power is not money in the hands of
  281.          a few, but information in the hands of the many."
  282.  
  283. For this reason I have devoted the time  I  have in writing,   maintaining,
  284. and  enhancing  RBBS-PC  over the  years.   The  reason   that   I  am  the
  285. registered copyright owner of RBBS-PC and grant  the  limited  license that
  286. I do is to primarily insure that these  purposes  are  not abrogated.
  287.  
  288. 1.1 The Capital PC Users Group
  289. ------------------------------
  290. Because the fundamental purposes of RBBS-PC and the Capital PC Users  Group
  291. are  similar,  I  package  and forward each new version of RBBS-PC  to  the
  292. CPCUG's Software Exchange for distribution.  The Capital PC User Group is a
  293. Maryland  Corporation whose "legal name" is the Capital PC User Group  Inc.
  294. The  CPCUG  is  an all-volunteer,  non-profit  organization  under  Section
  295. 501C4,   Social  Welfare,   of  federal law.   All revenues are re-invested
  296. in and applied to  the CPCUG's education programs.
  297.  
  298. 1.2  The "contributions" requested for RBBS-PC
  299. ----------------------------------------------
  300. The "contributions" requested for RBBS-PC can be one of four types:
  301.  
  302.    A.  Modifications   to  RBBS-PC,   itself,   that  are  documented   and
  303.        distributed  as .MRG files against the "base-line" source code  that
  304.        other SYSOP's might elect to incorporate into their version of RBBS-
  305.        PC (remember RBBS-PC can not be distributed in modified form without
  306.        violating  both  the  RBBS-PC  copyrights and  the  limited  license
  307.        granted with it's use).
  308.  
  309.    B.  Publicly distributable software.   It can either be "public  domain"
  310.        (i.e.  software  which  the author has relinquished all  rights  and
  311.        which may be appropriated by anyone for use in any way), or publicly
  312.        distributable  software  (i.e.  software  in which  the  author  has
  313.        retained  his  rights  and which may only be used according  to  the
  314.        conditions under which the author has designated).
  315.  
  316.    C.  Equipment  or  services.   Be  inventive in  light  of  the  CPCUG's
  317.        objectives  under  1.1.   If you or your  organization  can   donate
  318.        equipment,  software,  supplies, or services to the CPCUG, feel free
  319.        to   do   so.    If  you are so inclined,   but before you  do   so,
  320.        contact  the  Capital PC User Group,  4520 East-West Highway,  Suite
  321.        450,  Bethesda,  MD  20854.   For  general   information  about  the
  322.        appropriateness of the bequest,   contact the Capital  PC User Group
  323.        directly.
  324.  
  325.                        Page 5 of 135
  326. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  327.  
  328.    D.  The last level of "contribution" is merely money.    This is the one
  329.        commodity  that we are willing to exchange among each other  without
  330.        first  having   obtained the respect or consideration of  the  other
  331.        party.   It  is perhaps  the  easiest  to give as it  exonerates  us
  332.        from  the   other   levels  of  "contribution."   CPCUG  is  an  all
  333.        volunteer  organization   and,    of   course,   money   is   seldom
  334.        plentiful.    However  the essence of CPCUG is  the   time,   ideas,
  335.        and effort that each of the volunteers contribute to it.    For this
  336.        reason,   while money is always appreciated,   money is not the best
  337.        or  even  the  second-best  type of "contribution" you could  make.
  338.  
  339. Independently of  whether you can donate enhancements to RBBS-PC,  publicly
  340. distributable  software,    equipment,    services,   supplies,  or  money,
  341. consider  becoming a member of CPCUG.   If you  wish to become a member  of
  342. CPCUG,  simply send your name, address, home/work  phone numbers along with
  343. $25 to CPCUG,  4510 East-West Highway, Suite 550, Bethesda, MD 20814.
  344.  
  345. If in the final analysis you feel that you can do none of the above,
  346.  
  347.      o remember those who have,
  348.      o enjoy what they have nurtured, and
  349.      o keep the faith with those who have gone before you.
  350.  
  351. 1.3 The "history" behind RBBS-PC
  352. --------------------------------
  353. Electronic  bulletin  board  systems have been around ever  since  personal
  354. computers  existed.   The  first  ones  were  very  primitive  and  usually
  355. consisted  of some posted notices and maybe allowed for  on-line  messages.
  356. It  must be remembered that the IBM PC was only announced in August of 1981
  357. and  first  became  available in October of  1981.   Therefore  it  is  not
  358. surprising  that  the  early  history of BBS' is  associated  with  non-IBM
  359. personal computers.
  360.  
  361. The  "early history" of bulletin board systems began around 1978 in Chicago
  362. with the CBBS/Chicago (Computerized Bulletin Board System/Chicago).  It was
  363. created by Ward Christensen and Randy Suess -- members of the Chicago  Area
  364. Computer  Hobbyist Exchange (CACHE).   CBBS for the CP/M is written in 8080
  365. Assembler  language  (11,000 lines of it) and,  like the early versions  of
  366. RBBS-PC (i.e.  prior to CPC12-5A),  detects the baud rate and the parity of
  367. the  user when he first signs on from the three carriage returns  that  the
  368. user must enter.
  369.  
  370. About  the  same time,  Bill Abney wrote a BBS for the Radio  Shack  TRS-80
  371. Models I and II called Forum-80.
  372.  
  373. The  earliest  BBS that I know of was written for the Apple (who  else  had
  374. personal computers in those days?) called the "Apple Bulletin Board System"
  375. (ABBS).   It was written by Craig Vaughn and Bill Blue.  They later created
  376. another bulletin board  system for the Apple II called the People's Message
  377. System (PMS).
  378.  
  379. Another  Apple bulletin board system that came into being was for the Apple
  380. II,  II+,  and  IIE  as  well as the Franklin Ace and  it  was  called  the
  381. CommuniTree.   It  was  written in the FORTH language by  Dean  Gengle  and
  382. several others.
  383.  
  384. When  IBM announced its first personal computer,  the IBM PC,  in August of
  385. 1981,  there was no BBS for it.  In the summer of 1982, Brad Hanson found a
  386. prototype  version  written by Russ Lane in IBM's BASIC  on  David  Crane's
  387. Dallas R/CPM\CBBS system.   Brad added many fixes and modifications. In the
  388. first  half  of  1983,  many  members  of  the  Capital  PC  Users  Group's
  389.  
  390.                        Page 6 of 135
  391. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  392.  
  393. Communication  Special  Interest  Group (SIG) such as  Larry  Jordan,  Rich
  394. Schinnell, Gary Horwith, Jim Fry, Scot Loftesness, and Dorn Stickle further
  395. enhanced it and added XMODEM file transfer capability until it became known
  396. as  RBBS-PC  CPC  09  in  May of  1983.   At  that  time  each  feature  or
  397. modification  was  identified by a new version number;  it still  ran  only
  398. under  the BASIC interpreter;  and was both relatively slow (because of the
  399. interpreter) and somewhat unstable (it would normally "crash" at least once
  400. each day).
  401.  
  402. Late  in  May of 1983,  I asked Rich Schinnell if there was any   "bulletin
  403. board" software available for the IBM PC written in BASIC.  Rich told me to
  404. give Larry Jordan a call.   Larry said that he was just getting CPC09 ready
  405. to  send to Rich Schinnel who at that time was Director of the  Capital  PC
  406. User  Group's  Public Domain Software Library and that I could get it  from
  407. Rich.   I  did,  and still have the diskette just as Rich sent it to me  --
  408. dated June 22, 1983.
  409.  
  410. Bulletin board systems,  historically were the result of a single person or
  411. small group of persons' efforts and tended to serve a very narrow  interest
  412. group  -- typically  those  interested  in the  medium  itself  (i.e.  PCs,
  413. programming,  communications,  etc.).   This  was true up to and  including
  414. RBBS-PC  CPC09.   In fact,  most of the incentive to get the public  domain
  415. versions  of  RBBS  (CPC09 and earlier) functioning was  to  introduce  the
  416. XMODEM  protocol  to  the  IBM  PC-based  community.   In  this  CPC09  was
  417. successful  and  may  have  been the primary incentive  for  XMODEM  to  be
  418. included in PC-TALK at all.
  419.  
  420. Since  June  of 1983 I have authored and released TWENTY-EIGHT versions  of
  421. RBBS-PC and distributed them exclusively through the Capital PC User  Group
  422. under  the  limited license described in section 26 of this  documentation.
  423. At  this  time RBBS-PC appears to have become the "industry  standard"  for
  424. IBM-type personal computer bulletin board systems.   However, even from the
  425. very beginning BBSs have excelled whenever:
  426.  
  427.      a.) there was a geographically dispersed audience,
  428.  
  429.      b.) with a need to exchange highly complex/technical information,
  430.  
  431.      c.) in a timely and accurate manner.
  432.  
  433. RBBS-PC's  impact has been to open an entirely new medium of communications
  434. between people.   Rather than as an end in and of itself,  RBBS-PC has come
  435. to  serve  as  a  means to an end -- the free  exchange  of  ideas.   On  a
  436. technical  level  it is certainly an example that shows  "real  programmers
  437. can/do program in BASIC."  I would like to think that RBBS-PC had something
  438. to  do  with  IBM and Microsoft coming out with new versions of  the  BASIC
  439. compiler  that  support  communications,  sub-routines,  local  and  global
  440. variables, file-locking in a networking environment, etc.
  441.  
  442. RBBS-PC represents a fundamental cornerstone, not just a phase, in what can
  443. be  viewed  as a "social renaissance."  The three  areas that  I  mentioned
  444. earlier  in  which  bulletin  boards  excel seem to  ebb  and  flow  within
  445. communities  and organizations.   RBBS-PC provides an almost  instantaneous
  446. mechanism  by which these needs can be met.   Many of the Big 8  accounting
  447. firms  bring up RBBS-PC's just to fulfill one contract so that the  various
  448. geographically  disbursed  members on the contract can  communicate  across
  449. time zones and continents.   Unlike radio,  newspapers,  and television  --
  450. RBBS-PC provides a vehicle within which information can be EXCHANGED!  That
  451. is  what makes RBBS-PC so unique.   Because the exchange is written,  it is
  452. structured.  Because it is structured, it can be thoughtful.
  453.  
  454.  
  455.                        Page 7 of 135
  456. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  457.  
  458. The   "social  renaissance"  that  RBBS-PC  represents  is  the  electronic
  459. elimination of those barriers that had previously inhibited the  "exchange"
  460. of  information  within  our  society.   RBBS-PC  provides  every  personal
  461. computer owner with his own "soap-box" in a national Hyde Park.  Previously
  462. the  channels  of communication had built-in barriers to  "exchange";  with
  463. RBBS-PC those barriers begin to cease to exist.
  464.  
  465. While  only  the most fanatical RBBS-PC trivia experts may  be  interested,
  466. I've  gone  back and checked all the documentation and releases of  RBBS-PC
  467. that I've authored and here is the tedious chronology:
  468.  
  469. RBBS-PC Version  Release Date of        Major Enhancements
  470.     Number        First Version
  471.  
  472.    CPC10.0         07/04/83    RBBS-PC first written to be compilable by
  473.                                IBM's BASIC compiler, version 1.0
  474.  
  475.    CPC11.0         08/10/83    RBBS-PC restructured so that all parameters
  476.                                were  external  (i.e.  in  the  RBBS-PC.DEF)
  477.                                allowing  SYSOPs who didn't want  to  spend
  478.                                the  $300  for the BASIC compiler to  tailor
  479.                                RBBS-PC  to  their  taste.   CONFIG.BAS  was
  480.                                first written to generate RBBS-PC.DEF.
  481.  
  482.    CPC11.1         09/15/83    Jon Martin contributed UTSPACE.OBJ, a sub-
  483.                                routine that allowed the compiled version of
  484.                                RBBS-PC  to  determine the  amount  of  free
  485.                                space available for uploading.
  486.  
  487.    CPC11.2         10/01/83    The error trapping within RBBS-PC was
  488.                                completely    re-written    to    be    more
  489.                                comprehensive.
  490.  
  491.    CPC12.0         10/28/83    Tree-structured file directories and the
  492.                                ability to detect that RBBS-PC was in a
  493.                                "MultiLink"  environment were  incorporated.
  494.                                "MultiLink"  is  a product of  the  Software
  495.                                Link,  Inc.  which allows DOS 1.1, 2.0, 2.1,
  496.                                3.0 and 3.1 to be "multi-tasking."
  497.  
  498.    CPC12.1         12/18/83    The ability for a SYSOP who signed on
  499. (Versions A-F)                 remotely to drop into DOS was added.  Also
  500.                                the  "New"  command was added  that  allowed
  501.                                users  to determine what new files had  been
  502.                                made available since the last time they were
  503.                                on.
  504.  
  505.    CPC12.2         04/08/84    The security system designed by Ken Goosens
  506. (Versions A-D)                 was incorporated.  RBBS-PC's security system
  507.                                has   an  elegance  unmatched  even  by  the
  508.                                largest mainframe.  EssentialIy the security
  509.                                system  designed  by  Ken  is  "self-locking
  510.                                lock" and, even though RBBS-PC's source code
  511.                                is  distributed,  it's security  system  has
  512.                                remained  unbroken.   Of course,  SYSOPs who
  513.                                didn't   adhere   to   RBBS-PC's    security
  514.                                structure  have  had their system  "crashed"
  515.                                and  every  SYSOP should operate as  if  the
  516.                                very next caller could crash his system.
  517.  
  518.  
  519.  
  520.                        Page 8 of 135
  521. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  522.  
  523. RBBS-PC Version  Release Date of        Major Enhancements
  524.     Number        First Version
  525.  
  526.    CPC12.3         11/11/84    This was almost as complete and as major a
  527. (Versions A-B)                 re-write of RBBS-PC as CPC10.0 had been.
  528.                                Beginning  with CPC12.3 up to nine  RBBS-PCs
  529.                                can share the same files in either a  multi-
  530.                                tasking DOS environment (i.e. MultiLink from
  531.                                the Software Link,  Inc.) or in a local area
  532.                                network environment (i.e. Corvus or Orchid).
  533.  
  534.    CPC12.4         03/10/85    RBBS-PC's stature in the industry became
  535. (Versions A,                   recognized when, as author of RBBS-PC, I
  536.  A1, and B)                    was   granted  a  license  by  Microcom   to
  537.                                incorporate  their proprietary MNP  protocol
  538.                                into  RBBS-PC.  Almost at the same time many
  539.                                manufactures recognized the institution that
  540.                                RBBS-PC  had  become  in  our  industry  and
  541.                                elected  to include "RBBS-PC  compatibility"
  542.                                in   their   minimum   criteria   for    the
  543.                                introduction  of their new products.   RBBS-
  544.                                PC's  Vendor Support Program is  more  fully
  545.                                explained  in the RBBS-PC documentation  but
  546.                                one  direct  result of this was  the  intro-
  547.                                duction  of  300/1200/2400 BAUD  support  in
  548.                                CPC12.4A   before  most  such  modems   were
  549.                                generally available.
  550.  
  551.    CPC12-5         07/14/85    RBBS-PC was enhanced to  allow 36  copies of
  552.  (Versions A                   RBBS-PC to share the same files in a network
  553.   and B)                       environment.   RBBS-PC automatically answers
  554.                                the phone and no longer requires each caller
  555.                                to  enter up to 3 carriage returns in  order
  556.                                for  RBBS-PC to detect the users  baud  rate
  557.                                and parity.   Logon to RBBS-PC has been made
  558.                                much  more efficient with the USERS file  no
  559.                                longer  being searched sequentially and  the
  560.                                MESSAGES  file  no longer being  read  three
  561.                                times.   Version  CPC12-5B,  released August
  562.                                25, 1985, WAS THE LAST VERSION COMPILABLE BY
  563.                                VERSION 1.0 OF THE IBM BASIC COMPILER!
  564.  
  565.    CPC13-1         12/01/85    RBBS-PC  was  completely  rewritten  to   be
  566.  (Version A)                   compilable  by both the Version 2.0  of  the
  567.                                IBM  BASIC  compiler ($495 list  price)  and
  568.                                Microsoft's QuickBASIC Version 1.0 ($99 list
  569.                                price). XMODEM with CRC was added as a file-
  570.                                transfer protocol as well as the ability  to
  571.                                display  on  the  color monitor  of  the  PC
  572.                                running  RBBS-PC the color/graphics that the
  573.                                remote user sees exactly as he sees them.
  574.  
  575.    CPC14-1         03/16/86    RBBS-PC's internal structure was split into
  576.  (Versions A,                  two  parts -- a RBBS-PC.BAS for  the  main-
  577.   B, C, and D)                 line  source  code  and logic  and  a  RBBS-
  578.                                SUB.BAS  for  commonly  called  subroutines.
  579.                                This allows unlimited growth for RBBS-PC  by
  580.                                providing  multiple  "code segments"  within
  581.                                RBBS-PC.       Support      for      on-line
  582.                                questionnaires,  auto-downloading,  and  the
  583.                                Columbia     University-sponsored     KERMIT
  584.  
  585.                        Page 9 of 135
  586. RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987
  587.  
  588. RBBS-PC Version  Release Date of        Major Enhancements
  589.     Number        First Version
  590.  
  591.                                protocol  were also included as well as  the
  592.                                option   to   utilize   assembly    language
  593.                                subroutines    to   increase   for    better
  594.                                performance over their BASIC counterparts.
  595.  
  596.    CPC15-1A        03/15/87    RBBS-PC's  internal  structure continued  to
  597.  (Version A)                   become  significantly  more modularized  and
  598.                                structured.   Major  enhancements included a
  599.                                File   Management  System  for  directories,
  600.                                additional file exchange protocols,  support
  601.                                for  managing subscriptions,  the ability to
  602.                                run  as  a local application on  a  network,
  603.                                configurable command letters, the ability to
  604.                                use  any field or to define a new  field  to
  605.                                identify callers, the ability to individuate
  606.                                callers having the same ID, multiple uploads
  607.                                on  a single command line,  new A)nswer  and
  608.                                V)erbose  ARC  list  commands,  and  context
  609.                                sensitive help.
  610.  
  611. During  the  evolution  of  RBBS-PC I have had the  distinct  privilege  of
  612. working   with   many  contributors.    Contributions  have   ranged   from
  613. suggestions,  to software fixes,  to significant enhancements,  to improved
  614. documentation.  While I have met very few of these people personally, those
  615. whose names I remember are:
  616.  
  617. Doug Azzarito      Ken Goosens       Andy Lantos         James Reinder
  618. Jeff Batdorf       Dave Hacquebord   Steven Linhart      Ken Rogers
  619. Rod Bowman         Asa Fulton        Joseph Lionelle     Dick Rohrdanz
  620. Randy Brodersen    Jim Fry           Scott Loftesness    Rich Schinnell
  621. Mike Brown         Kent Galbraith    Harry Logan         Mark Seiden
  622. Vince  Castelli    John German       Gene Lowry          Andrew Silber
  623. Rob Cecchino       Read Gilgen       James Ludwick       Carl Spencer
  624. Drew Commins       Ken Goosens       Tom Mack            David Staehlin
  625. Ezra Conger        Dave Hacquebord   Matt Malden         Stan Staten
  626. Ed Copley          Steve Harrison    Jon Martin          Dorn Stickle
  627. Dave Crane         Gary Hoff         Robert Mahoney      Terry Steichen
  628. Everett Delano     Gary Howrith      Sidney Markowitz    Yew Seng Tan
  629. Don Dewall         Charlie Innusa    Louie McCaw         Terry Taylor
  630. Jack Fong          Loren Jones       Wes Meier           David Terry
  631. Jim Fox            Larry Jordan      Bill Newkirk        Arnold Thomsen
  632. Warren Fox         Robert Jueneman   Jeregen Nordhausen  Clark Walker
  633. John Friel         Vern Kallegin     Harvey Pierce       Kim Wells
  634.                                      Danny Plunkette     Bob Westcott
  635.                                      Jeff Porter         Robert White
  636.  
  637. Special  thanks  goes  to Ken Rogers of the  United  States  Department  of
  638. Commerce  without  whose perception and requests for enhancements  for  the
  639. Department of Commerce's ECONOMIC BULLETIN BOARD configurable commands  and
  640. automatic  subscription  support  would  not have  been  incorporated  into
  641. version 15-1A of RBBS-PC.
  642.  
  643. To  those  whose names have not been mentioned -- apologies  are  extended.
  644. Take comfort in knowing that you live on in the work that you have wrought.
  645. Jon  Martin is primarily responsible for whatever technical excellence that
  646. exists in RBBS-PC -- including the ability to have multiple RBBS-PC's share
  647. the same files.   I am not a programmer and didn't even know BASIC until  I
  648. started   writing RBBS-PC and released RBBS-PC CPC10.0 in July   of   1983.
  649.  
  650.                        Page 10 of 135
  651.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  652.  
  653. Jon's  commitment to RBBS-PC has at least matched my own.   Despite my  own
  654. ineptness,  Jon's patience, understanding, and technical insights have been
  655. unfailing  over  these several years and,  I would like  to  both  publicly
  656. acknowledge his contributions to RBBS-PC and  express  my  appreciation for
  657. his efforts on behalf of RBBS-PC.
  658.  
  659. I'd  also like to mention Ken Goosens' efforts on behalf of  RBBS-PC.   Ken
  660. took  the  time  and  trouble to wade through the  BASIC  source  code  and
  661. incorporated  the  "security"  system that  exists  within  RBBS-PC  today.
  662. Anyone   who   looked   at  the source code prior to release  CPC12-2A  can
  663. appreciate  the  magnitude  of  Ken's  efforts.
  664.  
  665. I  wish  space  allowed me to chronicle the contributions of  each  of  the
  666. contributors   to  RBBS-PC.    In  an age  of  cynicism,  RBBS-PC  and  the
  667. Userware  concept  represents an opportunity for each of us to give back to
  668. the world  something a little better than when we found it.    As I said in
  669. section  1,  this is something that I believe in strongly.   To each of the
  670. contributors  to  RBBS-PC  I  would like to say personally
  671.  
  672.          "I am very  proud  of  the company that RBBS-PC keeps."
  673.  
  674. All  changes to RBBS-PC since CPC10.0 have been "ADDITIVE." By that I  mean
  675. CPC12.5B will run the same way as  CPC10.0.   I felt that users should  not
  676. be forced to choose between features (i.e.   I can run either the  features
  677. on CPC11.2 or the features on CPC12.1).
  678.  
  679. 1.4  RBBS-PC Update Conventions
  680. -------------------------------
  681. RBBS-PC   continues  to evolve and be "debugged."  The   following   coding
  682. conventions  have been helpful in the past and you are requested to observe
  683. them in the future:
  684.  
  685. Updates  consist of two types of ASCII files.   One called xxxxxx.MRG which
  686. are   the   BASIC  source  statements  for the particular base-line  source
  687. code component of RBBS-PC to be updated.  The lines that have been modified
  688. are indicated as being so modified with a comment beginning in column 70 in
  689. the format as follows:
  690.  
  691. 4330 QUICK.SCAN.MESSAGES = FALSE                             ' CPC14-1D
  692.  
  693. These  .MRG  files  can be applied to the base-line  source  code  via  Ken
  694. Goosens  Batch Line EDitor utility program (BLED).   The BLED  utility  can
  695. easily  create  .MRG  files as it has both a file compare  and  file  merge
  696. function   that  is  specifically  geared  to  the  new  BASIC   compiler's
  697. capabilities that allow lines of source to be unnumbered.
  698.  
  699. The second file type is called xxxxxx.DOC.  It  describes on a line-by-line
  700. basis  the specific functions added or bug  that  was   fixed.    Obviously
  701. xxxxxx  can be anything you wish to name it.    The second type of file  is
  702. what  allows  me  to integrate several .MRG files  and   resolve   whatever
  703. conflicts that may exist.
  704.  
  705. The RBBS-PC naming conventions of CPCxx.x are roughly as follows:
  706.  
  707. 1.   If  a "bug" is being fixed CPCxx.x will be given a .MRG file name such
  708. as  CPC14-1D.MRG  with  a corresponding CPC14-1D.DOC  file  describing  the
  709. changes.    The   first  version  of  CPCxx.x  is  always "A".    When  you
  710. logon to RBBS-PC the  version  will  be  displayed.
  711.  
  712. 2.   If, after a release is released, bugs are reported and fixes are found
  713. for them,  they are distributed via an FIXmmdd.ARC file which contains  the
  714.  
  715.                        Page 11 of 135
  716.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  717.  
  718. necessary files to apply the "temporary fixes" against the released version
  719. of the source code and re-compile the source code.
  720.  
  721. 3.   If a new feature or enhancement is added the last digit in the CPCxx.x
  722. will be incremented by one (i.e. CPC12.2D was followed by CPC12.3A).
  723.  
  724. 4.   If a significant change to source code or logic occurs,  the first two
  725. digits  of  the  release level will change (i.e.  CPC14.1 was  followed  by
  726. CPC15.1)   The  purpose of these conventions is to allow everyone  to  know
  727. what   RBBS-PC level they are running under (users as well as SYSOPs)   and
  728. understand  the logic behind the changes/fixes as they occur so each  SYSOP
  729. can evaluate them for his own needs.   If you have comments or fixes please
  730. let me know so that they can be reflected in the RBBS-PC program and shared
  731. with all other users.   You can do that by sending your changes by mail to:
  732.  
  733.                               D. Thomas Mack
  734.                           10210 Oxfordshire Road
  735.                         Great Falls, Virginia 22066
  736.  
  737. or uploading the changes to either of my RBBS-PC lines -- (703) 759-5049 or
  738. (703) 759-9659.
  739.  
  740. While  comments  and  suggestions  are  always  welcome,   those  that  are
  741. accompanied by the RBBS-PC source code changes that implement them  carry a
  742. lot more weight than those that don't.
  743.  
  744. 1.5  Beta test sites, Where and Why
  745. -----------------------------------
  746. A lot of people volunteer to be "beta test" sites.  For those that do it is
  747. fitting that you know why each release of RBBS-PC is "beta tested" and what
  748. it takes to be "beta test" site.
  749.  
  750. Why "beta test" RBBS-PC?   Well,  the answer should be self-evident.  RBBS-
  751. PC  has  two primary goals -- one of which is "to serve as  an  educational
  752. example  of what can be done with BASIC" (see section 1).   The "beta test"
  753. process  seeks  to put each new release in as varied as an  environment  as
  754. possible  in  order to resolve bugs in the new features as well  as  assure
  755. that old bugs are not re-introduced by the addition of new  features.   Why
  756. bother?  One reason is simple, professional pride in what RBBS-PC is -- the
  757. bulletin  board  standard for the IBM PC industry.   Another reason is  the
  758. recognition of our responsibility to those who have contributed to  RBBS-PC
  759. and  the  obligation to not let them down by putting out a shoddy  product.
  760.  
  761. What does it take to become a "beta test" site.  There are essentially only
  762. 12 criteria for becoming  a beta test site.   First it takes a demonstrated
  763. knowledge  of the logic (or lack thereof) within RBBS-PC.   To  demonstrate
  764. this  users  who  become  "beta test" sites will  have  either  contributed
  765. significant enhancements to RBBS-PC or contributed significant fixes to the
  766. more esoteric "bugs" that have cropped up in RBBS-PC.
  767.  
  768. The  second  requirement  is  a commitment to  the  "Userware"  concept  as
  769. described  in  section 1 of this documentation.   This  requires  that  you
  770. insist  on  accepting neither personal recognition,  monetary  reward,  nor
  771. benefit  for your contributions to RBBS-PC -- except the  self-satisfaction
  772. in  knowing that whatever you contributed made RBBS-PC (and hopefully)  the
  773. PC world better than it might otherwise have been.   This is often the most
  774. difficult requirement for those who would be "beta testers."   RBBS-PC does
  775. not  exist  to  be  a  means to some  individual's  personal  gain  or  ego
  776. gratification.    Too  many  people  have  contributed  too  selflessly  of
  777. themselves  to RBBS-PC for this to ever be allowed to happen.    For  those
  778. for  whom  this  is a too difficult  requirement,  RBBS-PC's  totally  open
  779.  
  780.                        Page 12 of 135
  781.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  782.  
  783. architecture  provides the .MRG/.DOC mechanism (documented in section  1.4)
  784. to  allow individual authors of software modifications to RBBS-PC  to  both
  785. achieve  individual  recognition  and monetary reward  from  those  RBBS-PC
  786. SYSOP's  who  want  to  incorporate such merges  and  features  into  their
  787. versions of RBBS-PC.   Please note that distribution of .MRG and .DOC files
  788. is  totally consistent with the limited license that is granted with  RBBS-
  789. PC.   Also  note  that distribution of modified versions of RBBS-PC  is  in
  790. violation of RBBS-PC's limited license agreement.
  791.  
  792. Thirdly,  you  must  be  willing  to work  within  the  three  self-imposed
  793. constraints  of RBBS-PC (i.e.  that it contribute to the free  exchange  of
  794. information,  be an educational example of what can be done with BASIC, and
  795. that  all changes must be "additive.").   This requires that you be willing
  796. to  work  within the confines and limitations of the  BASIC  language,  not
  797. eliminate  earlier  functionalities  within RBBS-PC (only  add  new  ones),
  798. and ALWAYS strive to structure RBBS-PC so as to foster the free exchange of
  799. information.
  800.  
  801. The other nine "beta test" requirements in order to become a beta test site
  802. require that you must be willing to:
  803.  
  804.    1.  Run unmodified versions of the new version of RBBS-PC.
  805.    2.  Not release any part of what you are beta testing to anyone else.
  806.    3.  Be willing to have your entire system and hard disk be vulnerable
  807.        to software flaws in the new version of RBBS-PC.
  808.    4.  Be willing to FIX the bugs you encounter -- simply reporting
  809.        them is not enough!
  810.    5.  Live with the bugs that aren't fixed until they are fixed.
  811.    6.  Be willing to call and discuss via voice problems (at your
  812.        expense -- not mine).
  813.    7.  Be willing to call and download (almost daily during the "beta
  814.        test" period) 450K files also at your expense.
  815.    8.  Live with the fact that whatever you are beta testing is not
  816.        going to be what is actually released and that you will probably
  817.        have to download what is actually released just like every one
  818.        else.
  819.    9.  Be charitable about the author's programming skills.
  820.  
  821. Needless  to say,  those few who participate in each new release of RBBS-PC
  822. typically are not the same people from release to release.  This is because
  823. of  the  intensity  and time that the relatively  short  beta  test  period
  824. (typically  two  weeks  or  less)  makes  on  the  beta  testers.   Another
  825. constraint is my abilities to adequately respond to more than two or  three
  826. beta  testers  at most.   Finally,  like owning a swimming pool or a  boat,
  827. everyone wants to be a beta tester once!  There is little glory and lots of
  828. pain.    Luckily, Jon and I usually divide up the beta testing based on who
  829. lives east and west of the Mississippi river in order to have as many  beta
  830. test sites as possible.
  831.  
  832. Most  of  the  credit for RBBS-PC CPC15-1A being better  than  the  earlier
  833. versions goes to the following beta testers:
  834.  
  835.           East Coast                          West Coast
  836.           ----------                          ----------
  837.    Mike Brown, Madison, Wisconsion       Rod Bowman, Alta Loma, Ca.
  838.    Rob Cecchino, Virginia Beach, Va.     Loren Jones, Fargo, N.D.
  839.    Ken Goosens, Washington, D.C.         Gene Lowry, Tuscon, Az.
  840.    Dave Hacquebord, Tampa, Florida       Terry Taylor, San Leandro, Ca.
  841.    Louie McCaw, Amarillo, Tx.
  842.    Stan Staten, Gaithersburg, Md.
  843.    Kim Wells, Largon, Maryland
  844.  
  845.                        Page 13 of 135
  846.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  847.  
  848. 1.6  An Example of "Users Helping Users"
  849. ---------------------------------------
  850. The  ability to have multiple RBBS-PC's running concurrently -- either on a
  851. single PC in a multitasking DOS environment or in a local area network,  is
  852. a concrete example of the concept of "users helping users" in action.  This
  853. ability  was  developed  in support of the efforts of  the  State  of  West
  854. Virginia Department of Education's "West Virginia Microcomputer Educational
  855. Network"  project.   It  is the first statewide microcomputer  network  and
  856. encompasses  all  of  the  state's 1,125 schools  in  55  different  school
  857. districts.      Each   school  is  intended  to  have  the  capability   of
  858. accommodating  up  to  twenty IBM PC's in a local area  network  sharing  a
  859. common  20MB disk drive.   As of June of 1984,  83 of the 1,125 schools had
  860. such  networks.   Each PC can communicate with either the  LAN,  a  central
  861. library,  or  with other schools in order to share programs and  materials.
  862. The key component for this communication is RBBS-PC.   In a presentation at
  863. the U.S.  Department of Education in Washington,  D.C.on June 22, 1984, the
  864. role RBBS-PC plays was described as follows:
  865.  
  866.          "The medium that ties the entire system together -- that
  867.          allows for communication not only between one school and
  868.          another but also between schools and the central library
  869.          -- is  an  electronic  bulletin  board  (RBBS-PC)   This
  870.          bulletin  board will be in operation 24 hours a  day  at
  871.          the  central  site,  with  a similar bulletin  board  in
  872.          operation at every school.
  873.  
  874.          The  local  school  bulletin board  (RBBS-PC)  could  be
  875.          accessed by students who wish to review their lesson  or
  876.          take  a test at home provided they had  a computer and a
  877.          modem.   Teachers could access their grade book or other
  878.          reports and lessons at home in preparation for the  next
  879.          school day.
  880.  
  881.          Neither   bulletin  board  system   (RBBS-PC)   requires
  882.          personnel to answer telephones or transmit files.   They
  883.          are  both  totally unmanned and operate 24 hours a  day.
  884.          No  toll  charges,  of course,  would  be  assessed  for
  885.          calling  the  local school bulletin board and toll  free
  886.          800 numbers are used for accessing the central library."
  887.  
  888. The State of West Virginia arranged to have the vendors involved,  IBM  and
  889. Corvus,  make the appropriate equipment available on a "loan" basis so that
  890. RBBS-PC  could  be developed to work in a local area  network  environment.
  891. Since  this project conformed so closely to the primary objectives of RBBS-
  892. PC, we agreed to volunteer our time and take on the task of enhancing RBBS-
  893. PC  to  allow  up  to nine (9) copies of RBBS-PC  to  execute  concurrently
  894. sharing  many  of the same files.   On a single PC the  maximum  number  of
  895. concurrently running RBBS-PC's within the same DOS is limited only by:
  896.  
  897.         a.  the number of communications ports installed on the PC.
  898.             IBM's limit is two (COM1 and COM2), but other vendors
  899.             supply "add-on" cards which provide for up to eight or
  900.             more communications ports on a single PC.
  901.  
  902.         b.  the number of communications ports that the IBM BASIC
  903.             compiler can read and write to.  IBM's limit is two
  904.             (COM1 and COM2).
  905.  
  906.          c. the number of concurrently running tasks that can be
  907.             supported.  IBM's DOS is limited to one task.  Other
  908.             vendors provide "add-on" software to IBM's DOS that
  909.  
  910.                        Page 14 of 135
  911.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  912.  
  913.             provides for up to nine simultaneous tasks.
  914.  
  915. Within  a network environment (i.e.  multiple PC's linked together  sharing
  916. the  same  devices)  the maximum number of concurrent RBBS-PC's is  set  by
  917. RBBS-PC's internal design to nine (9).   This design was based on the  fact
  918. that  anyone who wanted to run nine RBBS-PC's sharing the same set of files
  919. would  take  the  $46,000 needed to buy  nine  PC's  with  modems,  network
  920. interface cards, hard disk (at least 20MB) and purchase a minicomputer  for
  921. the same amount of money with more ports and storage.  CPC13-1A was updated
  922. to allow for  36 RBBS-PC'S  to share  the same files.  For those interested
  923. in  further  information  on  the State of  West  Virginia's  Microcomputer
  924. Educational Network, please contact:
  925.  
  926.                Mr. John E. Cook
  927.                State of West Virginia Department of Education
  928.                1900 Washington Street East
  929.                Building 6, Room 221, Capital Complex
  930.                Charleston, West Virginia  25305
  931.  
  932. 1.7 What's New with CPC15-1A
  933. ----------------------------
  934. RBBS-PC  CPC15-1A  will be the 28th release of RBBS-PC CPCxx since  it  was
  935. first published in July of 1983.   RBBS-PC's policy of freely  distributing
  936. the  source  code  and  continually expanding it's  range  of  capabilities
  937. throughout these last four years represents not only the very best that  is
  938. embodied  in  the  concept of "users helping users" but an  expectation  of
  939. excellence  that  NO product in the PC industry has ever  even  approached.
  940. Here is a brief summary of the major enhancements in RBBS-PC CPC15-1A:
  941.  
  942. o    SPEED!  RBBS-PC runs significantly faster.
  943.  
  944. o    STRUCTURE!  Code has been made easier for users to modify.  There
  945.      is more room in the main code segment and RBBS-PC more efficiently
  946.      uses string space.
  947.  
  948. o    MINIMUM SYSOP MAINTENANCE REQUIRED! There is a new, but optional, FILE
  949.      MANAGEMENT SYSTEM (FMS) that can be set up so that the SYSOP no longer
  950.      need  maintain his file system "directories."  Users can be allowed to
  951.      automatically categorize the files they upload.  The new entry will be
  952.      written  to the file management system and,  optionally,  strewn to  a
  953.      second  file that a SYSOP might wish to edit and insert an  evaluation
  954.      or comments about the uploaded files.   The speed of file searches has
  955.      been increased from 10 to 100-fold. A caller can download in the midst
  956.      of listing files,  and the listing will resume where it left off after
  957.      downloading is completed.
  958.  
  959. o    ADDITIONAL FILE TRANSFER PROTOCOLS!  More error checking protocols for
  960.      file  exchange.   Now  support exists  for  YMODEM,  WINDOWED  XMODEM,
  961.      YMODEMG,  and  IMODEM  in addition to KERMIT,  XMODEM  (checksum)  and
  962.      XMODEM (CRC).
  963.  
  964. o    LAN ELECTRONIC MAIL!  RBBS-PC can  be run as a "workstation" appearing
  965.      on the local PC's screen exactly as it would to a user who had  dialed
  966.      in as remote user.   In "workstation" mode, RBBS-PC can be run on a PC
  967.      without  either  a modem or a RS-232 interface.   It can serve  as  an
  968.      electronic  mail system on a local area network in "workstation"  mode
  969.      (up  to 36 stations) or as a teaching tool in a classroom  environment
  970.      to demonstrate RBBS-PC's full range of features.
  971.  
  972. o    ADDITIONAL  NETWORK  SUPPORT!   Fox  Research's "10  NET"  local  area
  973.      network support has been added to RBBS-PC.
  974.  
  975.                        Page 15 of 135
  976.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  977.  
  978. o    ALL COMMANDS CONFIGURABLE!  The symbols  used for the RBBS-PC commands
  979.      are configurable.   Any command can be disabled.   Users see only what
  980.      commands they have sufficient security to execute.   A SYSOP can  even
  981.      configure  RBBS-PC  so that any command can be executed from any  sub-
  982.      section.   All  of this is,  as always,  optional.   RBBS-PC tries  to
  983.      strive  to  let  each SYSOP have total  autonomy  (rather  attempt  to
  984.      restrict).
  985.  
  986. o    MULTIPLE  QUESTIONNAIRES!   The  new command  A)nswer  command  allows
  987.      multiple  optional  questionnaires  to  be  set  up  that  users   can
  988.      selectively  answer.   A SYSOP can put up a questionnaire  at  anytime
  989.      that all users (both new and old) must answer.  A new command has been
  990.      added  to the questionnaire script language that allows the  SYSOP  to
  991.      elect to have nothing written to the script's data file.
  992.  
  993. o    USERS CAN VIEW ARC FILES!  Users can obtain a verbose listings of the
  994.      the contents of an ARCed file prior to downloading it.
  995.  
  996. o    TOTAL USER CONTROL OF PREFERENCES!  A user can  now T)oggle on/off any
  997.      of his preferences.
  998.  
  999. o    UNIQUE  USER  ID'S!   With RBBS-PC CPC15-1A,  any field (not just  the
  1000.      users  name) can be used to uniquely identify users.   More  than  one
  1001.      user  can have the same ID (everyone in a the same SIG) and still have
  1002.      unique  names.   A  new field for whatever the SYSOP wants to  use  to
  1003.      identify users now exists within the Users record.  Users can be added
  1004.      with  no pre-assigned password (i.e the first caller who uses the name
  1005.      is allowed to set the password).   RBBS-PC can be set up so that valid
  1006.      accounts are pre-loaded and users can be given INSTANTANEOUS access at
  1007.      the discretion of the SYSOP, e.g. when the users becomes a member of a
  1008.      user group or SIG.
  1009.  
  1010. o    MULTIPLE UPLOADS!  Just as earlier versions of RBBS-PC allowed for
  1011.      multiple  downloads,  CPC15-1A  now allows multiple file names  to  be
  1012.      specified on a single command line when uploading.
  1013.  
  1014. o    BUILT-IN SUBSCRIPTION SERVICES!  RBBS-PC CPC15-1A has built in support
  1015.      for  limiting callers based on a subscription  date.   A  subscription
  1016.      period  can be specified for every security level,  and the security a
  1017.      caller gets when his subscription expires is specifiable.  This allows
  1018.      automatic   support  for  SYSOP's  who  request  users   to   purchase
  1019.      subscription  to their boards or for time-limited privileges.   Stored
  1020.      in each caller's record is the date the subscription began.
  1021.  
  1022. o    COMMAND-LEVEL HELP!  Help files can now be specified not just by section,
  1023.      but  by  individual  command,  as well as a  menu  of  SYSOP-specified
  1024.      special topics, such as ARC files.
  1025.  
  1026. o    MUSIC!  The SYSOP can elect to have the PC running RBBS-PC to play a
  1027.      musical  refrain  each time a user selects  specific  functions  (i.e.
  1028.      "Walk  right  in" when a new user logs on;  "Dragnet" when a  security
  1029.      violation occurs;  "Goodbye Charlie" when a user logs off; "Taps" when
  1030.      a user is denied access;  "OOM PAH PAH" when a user downloads; "Thanks
  1031.      for the Memories" when a user uploads).  The auditory feedback enables
  1032.      SYSOPS to focus on other activities without having to watch the  local
  1033.      screen.  More importantly, this type of auditory feed-back is intended
  1034.      to aid SYSOP's who are visually impaired.
  1035.  
  1036. o    CONSTRAINTS OF EARLIER VERSIONS LIFTED!  Many of the constraints that
  1037.      existed in versions of RBBS-PC prior to 15-1A have been lifted.   some
  1038.      of them are:
  1039.  
  1040.                        Page 16 of 135
  1041.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1042.  
  1043.            The upload directory need not be present on the same
  1044.            drive/subdirectory that uploaded files are written to.
  1045.  
  1046.            When the users file is full, new users need no longer be kicked off
  1047.            the system.  Instead, they can be let on but not remembered, i.e.
  1048.            not be written to the users file.  On subsequent calls, they will
  1049.            remain new users and must re-register.
  1050.  
  1051.            RBBSPC can be logged on to from the keyboard of the PC on which it
  1052.            is running (without calling through a modem) and will respond to
  1053.            the PC's screen in the same manner as a remote user would see it.
  1054.  
  1055.            First and last names can have interior blanks.  Initial blanks are
  1056.            still not allowed, and trailing blanks are still ignored.
  1057.  
  1058.            SYSOPs can now type while caller is entering a message and their
  1059.            keystrokes will be freely mixed in with those of caller.  In
  1060.            earlier versions of RBBS-PC, a SYSOP's local typing was ignored
  1061.            during message entry.
  1062.  
  1063.            The file description for uploads can be up to 46 characters long.
  1064.  
  1065.            The speed with which text files, such as menus, are displayed, can
  1066.            be increased by enlarging the buffer size used within 15-1A for
  1067.            displaying ASCII files via a parameter in CONFIG.
  1068.  
  1069.            Viewing the upload directory (or the uploads with the default
  1070.            category code) is controlled by the users security level.   Before,
  1071.            if  you made the upload drive not available for  downloading,  only
  1072.            the SYSOP could view the upload directory.
  1073.  
  1074. o    BETTER ERROR TRAPPING!  RBBS-PC CPC15-1A now detects and reports any
  1075.      problem when writing during an upload.; recovers from any problem when
  1076.      trying to kill a file already present before an upload;  and traps all
  1077.      bad paths in a file name.
  1078.  
  1079. o    BETTER PROMPTS/MESSAGES!  Much effort has been expended to insure that
  1080.      where possible prompts were clarified,  messages made more meaningful,
  1081.      and defaults consistently shown.  Some examples of this are:
  1082.  
  1083.            The  "G>raphics"  command was clarified.   The prompt  makes  it
  1084.            clear that ASCII and color options are for IBM computers and the
  1085.            "help"  file for the command is automatically displayed when the
  1086.            user is in "novice" mode.
  1087.  
  1088.            "Chat" mode now  has a beginning opening and closing message.
  1089.  
  1090.            The  prompt for a "P>assword" now clearly states  that  pressing
  1091.            enter quits.
  1092.  
  1093.            The  "N>ulls"  command  now  explains that it  is  for  printing
  1094.            terminals.
  1095.  
  1096.            "Press [ENTER] to quit" is used more uniformly.
  1097.  
  1098.            Defaults with prompts are more uniformly indicated by putting []
  1099.            around the default.
  1100.  
  1101.            The  List  command  no  longer  requires  that  a  directory  be
  1102.            specified in advance.   The list command used alone will  prompt
  1103.            for a directory and default to the directory of directories.
  1104.  
  1105.                        Page 17 of 135
  1106.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1107.  
  1108.            The  editing command in messages is much easier to use.   It  no
  1109.            longer  requires the user to specify new and old string together
  1110.            but  breaks  up the edit into a search for what and  replace  by
  1111.            what.   The  syntax  from earlier versions of RBBS-PC  is  still
  1112.            supported  in  keeping with RBBS-PC's  long-standing  policy  of
  1113.            being upward compatible.
  1114.  
  1115.            The  prompt  when  changing page length has  been  clarified  to
  1116.            indicate  that the number of lines can have any value between  0
  1117.            and 255.
  1118.  
  1119.            U>pload  and D>ownload commands immediately respond with message
  1120.            "Searching  for  file...".   In some configurations  with  large
  1121.            (and/or) slow disks a user might see a significant delay with no
  1122.            indication what was going on with this new response.
  1123.  
  1124.            If  a  1000 or more files are searched in  a  directory  without
  1125.            filling  the screen with "hits",  the caller is asked whether he
  1126.            wants to continue the search.
  1127.  
  1128.            Requests  for  Non-stop  in  file  searches  in  the  L)ist  and
  1129.            S)ubstring commands require confirmation if at least a 1000 more
  1130.            files remain to be searched.
  1131.  
  1132.            File searching supports true paging.  No longer will the menu or
  1133.            multiple  searches  scroll away  previous  results.   The  pause
  1134.            properly pauses at the bottom.
  1135.  
  1136.            Callers  are  now  informed  explicitly whenever  an  upload  or
  1137.            download was successful.   Some novices mistakenly thought  that
  1138.            errors   during   transmission  mean  they  had  to  re-do   the
  1139.            transmission.
  1140.  
  1141. o    ENHANCED SECURITY!  Paths are now supported in the file security system.
  1142.      Kermit  up/down  loads  no longer list drive/path where then  file  is
  1143.      located.   More  secure limitation of DOORS and  QUESTIONNAIRES  exist
  1144.      since  RBBS-PC  will no longer accept proper substrings of  legitimate
  1145.      items.
  1146.  
  1147. o    NEW DEBUG MODE!  Special debug mode has been added to allow all errors,
  1148.      including  those that are handled within RBBS-PC,  to be seen as  they
  1149.      occur.
  1150.  
  1151. o    AUTO-NOTIFICATION!  The SYSOP can elect to notify users immediately upon
  1152.      logging  on of the number of new bulletins and new files available for
  1153.      downloading since the user last logged on.
  1154.  
  1155. o    TURBO-DOWNLOADING!  A SYSOP can allow users to review the files that are
  1156.      new  since  the  user last logged on  and  download  them  immediately
  1157.      (without requiring the user to see any messages).
  1158.  
  1159. o    INVALID DIRECTORIES ELIMINATED!  All directories to be searched are put
  1160.      in  one  specific  drive/subdirectory in order to speed  up  directory
  1161.      searches  and simplify maintenance.   This eliminates the  possibility
  1162.      that  data  files with the same extension of  true  directories  being
  1163.      considered RBBS-PC directories.
  1164.  
  1165. o    PROMPTS WIPED OFF SCREEN! "MORE" prompts are wiped away after a response,
  1166.      except  when files to download are specified.   Very useful when  more
  1167.      interrupts continuous text, as in menu or message.
  1168.  
  1169.  
  1170.                        Page 18 of 135
  1171.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1172.  
  1173. o    RING-NO-ANSWER MINIMIZED!  As soon as carrier is lost or the SYSOP takes
  1174.      RBBS-PC  off line via function key F1 to use the PC for other  things,
  1175.      the  phone is taken off the hook so callers will receive a busy single
  1176.      (and not be charged for the call by the phone company).
  1177.  
  1178. o    AUTODOWNLOAD ENHANCED!  The SYSOP can select to turn off the automatic
  1179.      test of every user for autodownloading.   The escape sequence test for
  1180.      autodownloading caused problems with some communications packages  and
  1181.      terminals.   Users now can toggle autodownloading on and off during  a
  1182.      session and their preference will be permanently remembered.
  1183.  
  1184. o    MISCELLANEOUS BUGS FIXED!  While numerous bugs in CPC141D have been
  1185.      corrected, the ones that come to mind are:
  1186.  
  1187.            TAB characters in messages are screened out.
  1188.  
  1189.            A  caller will not be kicked off with a sleep  disconnect  after
  1190.            chatting  with the SYSOP for more than the maximum time a caller
  1191.            can be idle.
  1192.  
  1193.            Very long messages no longer cause RBBS-PC to hang in the middle
  1194.            of entering them.
  1195.  
  1196.            Uploaded  files do not have a control-Z appended to them  (which
  1197.            formerly resulted in spurious CRC errors on ARC files).
  1198.  
  1199.            The SYSOP can configure RBBSPC for more bulletins than exist.
  1200.  
  1201.            File sizes are now properly recorded for all uploads.
  1202.  
  1203.            Failed uploads with 0 bytes are now recognized as bad uploads.
  1204.  
  1205.            KERMIT  file  transfers can now occur with  file  names  (drive,
  1206.            path, filename) up to the full maximum of 63 characters.
  1207.  
  1208. 2.0 RBBS-PC "BASE-LINE" HARDWARE REQUIREMENTS
  1209. ---------------------------------------------
  1210. RBBS-PC  CPC15-1A  is designed to run on an IBM Personal  Computer  running
  1211. IBM's  Disk Operating System (DOS),  communicating via an IBM  Asynchronous
  1212. Communications   Adapter  and  a  Hayes  Smartmodem   modem.   For  RBBS-PC
  1213. CPC15-1A, the following equipment and software is the MINIMUM recommended:
  1214.  
  1215.                IBM PC
  1216.                80 column monitor
  1217.                Asynchronous communications  adapter (serial port)
  1218.                Hayes Smartmodem (or 100% Hayes compatible!)
  1219.                Voice  grade  telephone connection  for  modem
  1220.                25 pin RS-232 modem  cable  (for stand alone modem)
  1221.                256K RAM
  1222.                Two double-sided drives
  1223.                PC-DOS 2.0 or higher
  1224.  
  1225. The  MINIMUM configuration that RBBS-PC can be run in is on an IBM PC  that
  1226. has 256K of random access memory (RAM), one double-sided disk drive, an RS-
  1227. 232  communications  port with a Hayes 300 baud modem and IBM's PC DOS  2.0
  1228. (or  higher).   However as with ANY bulletin board system,  the  less  disk
  1229. space  available the more file maintenance the SYSOP must do.   Also if you
  1230. choose  to allow external file protocol transfers,  an additional  64K   of
  1231. memory  is required.
  1232.  
  1233.  
  1234.  
  1235.                        Page 19 of 135
  1236.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1237.  
  1238. If  you  have  a  second telephone installed specifically for RBBS-PC,  ask
  1239. for  a second voice  grade telephone line.   Data lines are very  expensive
  1240. and  are  not  necessary.   The   program  requires  the  use  of  a  Hayes
  1241. Smartmodem  (or  one that is 100% Hayes compatible) in order  to   function
  1242. properly.   If your non-Hayes modem doesn't work with RBBS-PC, send RBBS-PC
  1243. (source  code and all) to the vendor and ask him to explain why it  doesn't
  1244. work (i.e. why it is "incompatible" with the Hayes Smartmodem).
  1245.  
  1246. Callers who come in at even parity and 7 data bits,  then try to change  to
  1247. no   parity  and  8 data bits to use XMODEM,  may have a problem  if   they
  1248. are  using PC-TALK and a Hayes Smartmodem.   Switch 1 on the caller's modem
  1249. has  to  be down (the factory  default  position)  or the carrier  will  be
  1250. dropped when  the  communication  parameters  are  switched.  To avoid this
  1251. the  PC-TALK caller will  have  to  enter the escape code (factory  setting
  1252. "+++"),   reset the modem  parameters  with  Alt-P and/or Alt-F,   and then
  1253. return  to the "connect" state with  the  command  "ATO." Callers who  wish
  1254. to  communicate at 450 baud have to call in  at  300  baud  then switch  to
  1255. 450 using the N)ew baud  selection  from  the  "Utilities" menu.
  1256.  
  1257. 3.0 RBBS-PC's SUPPORT POLICIES
  1258. ------------------------------
  1259. 3.1 RBBS-PC's Vendor Support Policy
  1260. -----------------------------------
  1261. The  only reason RBBS-PC is "hardware-specific" to the IBM PC and the Hayes
  1262. Smartmodem is that these have pretty much set an industry standard   (let's
  1263. not   debate  the  issue  of whether they have  also  set  a   "technology"
  1264. standard).  If you follow the code in RBBS-PC closely, you will notice that
  1265. a great deal of effort was expended in order not to be "hardware-dependent"
  1266. on either the Hayes or the IBM PC.
  1267.  
  1268. The   purposes  of  RBBS-PC  are outlined in  section  1   of  the  RBBS-PC
  1269. documentation.   Those  who  contribute  to  RBBS-PC do so without any hope
  1270. of  monetary   reward.    In fact,  great lengths are taken to assure  that
  1271. neither  those  involved with the development of RBBS-PC  nor  anyone   who
  1272. distributes   RBBS-PC  does  so for either personal gain or to  promote   a
  1273. specific product at the expense of other products.
  1274.  
  1275. If  the hardware you are using is not part of the "base-line" hardware  and
  1276. RBBS-PC  doesn't  work,  your only recourse is to either modify RBBS-PC  to
  1277. meet  your  particular  hardware's needs (that's why  the  source  code  is
  1278. distributed)  or  contact  your vendor and ask him to fix his  hardware  or
  1279. modify RBBS-PC (via .MRG/.DOC files) to support his hardware.
  1280.  
  1281. Since  1984 RBBS-PC  became something of an "industry standard."   As  such
  1282. several  manufacturers  have requested that support for  their   particular
  1283. hardware  and/or software be incorporated into RBBS-PC.  These vendors have
  1284. had three choices:
  1285.  
  1286. 1.  Obtain  a  copy  of the BASIC source code by  sending  $8  to  the
  1287.     Capital PC User Group's Software Exchange.  The source code allows
  1288.     the   vendor  to  determine  what  is  required  to  be   "RBBS-PC
  1289.     compatible."   Who   better   knows    the    quirks    of     the
  1290.     manufacturer's  product than the manufacturer?   RBBS-PC's limited
  1291.     license  specifically  permits the  distribution of  ".MRG"  files
  1292.     that  would allow RBBS-PC to run with whatever  idiomatic   quirks
  1293.     a  specific  vendor's  product exhibited.   The advantage  to  the
  1294.     manufacturer  is that he is in complete control and need not  make
  1295.     the .MRG "universal" (i.e. it need only support his product).  The
  1296.     disadvantage is that new releases of RBBS-PC come out every six to
  1297.     eight  weeks and the vendor would have to review each  release  to
  1298.     make sure the new releases and his .MRG files were compatible.  Of
  1299.  
  1300.                        Page 20 of 135
  1301.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1302.  
  1303.     course,  as  with  any other RBBS-PC  operator,  casual  telephone
  1304.     support is available to these vendors.
  1305.  
  1306. 2.  Supply the necessary equipment or software on a loan or gift basis
  1307.     to  be  used in the testing of future releases of  RBBS-PC.   This
  1308.     approach  has  been  actively DISCOURAGED  for  three  fundamental
  1309.     reasons.
  1310.  
  1311.     First,  the vendor perceives he has "paid" for on-going support by
  1312.     the loan or donation of the product.  This is not the case because
  1313.     RBBS-PC's  development  is an all-volunteer  activity.   As  such,
  1314.     neither  I nor any of the others involved with the development  of
  1315.     RBBS-PC  may  have  the time nor expertise  sufficient  to  assure
  1316.     compatibility  of  the  specific  vendor's  product  with   future
  1317.     releases  of RBBS-PC.   About all that can be done is to give  the
  1318.     vendor our "best effort" to assure compatibility,  and advise when
  1319.     it can not be made compatible.
  1320.  
  1321.     Second,   the   particular  product  may  not  have  a   universal
  1322.     applicability  to RBBS-PC users and (or) may not be of interest to
  1323.     those  who  regularly contribute to the  development  of  RBBS-PC.
  1324.     Both of these conditions must exist before any vendor's product is
  1325.     incorporated into the RBBS-PC development cycle.
  1326.  
  1327.     Third, the price of the loaned or donated products (usually 3 to 5
  1328.     such  products)  in  no way can even begin to compensate  for  the
  1329.     hundreds  (if  not  thousands) of development  hours  required  to
  1330.     support other than "base-line" hardware.
  1331.  
  1332. 3.  Establish  an  on-going  institutional commitment  to  maintain  a
  1333.     dialogue  between  the vendor's engineering group and the  RBBS-PC
  1334.     development  team along with supplying the necessary equipment  or
  1335.     software  on  a loan or gift basis to be used in  the  testing  of
  1336.     future  releases  of  RBBS-PC.   This approach has  been  actively
  1337.     ENCOURAGED for three different and fundamental reasons.
  1338.  
  1339.     First,  the  vendor overtly makes an institutional  commitment  to
  1340.     jointly participate in the development of RBBS-PC.  The vendor has
  1341.     the  opportunity to supplement the all-volunteer activity that  is
  1342.     the  basis  for RBBS-PC development by choosing to  either  modify
  1343.     their  current or future products to be compatible with RBBS-PC or
  1344.     to supply software that ensures compatibility with RBBS-PC.   This
  1345.     benefits all RBBS-PC users.
  1346.  
  1347.     Second,  the particular products that fall into this category  are
  1348.     required  to have a universal applicability to RBBS-PC users (i.e.
  1349.     multi-tasking DOS,  networking,  2400 or greater baud  capability,
  1350.     error-free protocols,  etc.).  Also a regular contributor to RBBS-
  1351.     PC's  development  must  be geographically located  close  to  the
  1352.     vendor's  development  engineers  to  assure  a  timely  dialogue.
  1353.     Further  any  regular  contributor to  RBBS-PC's  development  who
  1354.     accepts  the  responsibility for assuring RBBS-PC's  compatibility
  1355.     with a particular vendor's product must be willing to do so solely
  1356.     on a volunteer basis over an extended period of time and in such a
  1357.     way  as  not to exclude other vendor's products.   Only  when  all
  1358.     these  conditions exist is any vendor's product a candidate to  be
  1359.     incorporated  into the RBBS-PC development  cycle.   This  assures
  1360.     that  the RBBS-PC user community has a feed-back mechanism to  the
  1361.     vendor's  product  development and design teams and the vendor  is
  1362.     assured  of  a  matching long-term  commitment  from  the  RBBS-PC
  1363.     development team.
  1364.  
  1365.                        Page 21 of 135
  1366.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1367.  
  1368.     Third,  the  vendor  recognizes that the  price of the  loaned  or
  1369.     donated  products  (usually  3 to 5 such  products)  is  minuscule
  1370.     compared  with  the hundreds (if not thousands) of man-hours  that
  1371.     may be required  from both the RBBS-PC development team as well as
  1372.     the vendor's engineers.   This assures that the vendors who choose
  1373.     this third approach are committed to the PC user community.  It is
  1374.     precisely this type of commitment that RBBS-PC's USERWARE  concept
  1375.     is designed to encourage (from both users and vendors)
  1376.  
  1377. Vendors  who  have chosen to make this third type of commitment to  RBBS-PC
  1378. and the PC user community deserve the respect and encouragement of every PC
  1379. user and are (alphabetically):
  1380.  
  1381.     Ark Electronic Products, Inc.
  1382.     325 W. Hibiscus Blvd.
  1383.     Melbourne, Florida  32901
  1384.     (305) 724-5260
  1385.  
  1386.     Corvus Systems, Inc.
  1387.     2100 Corvus Drive
  1388.     San Jose, California 95124
  1389.     (408) 559-7000
  1390.  
  1391.     Everex
  1392.     48431 Milmont Dr.
  1393.     Fremont, Ca. 94538
  1394.     (415) 683-2100
  1395.  
  1396.     The Forbin Project
  1397.     c/o John Friel III
  1398.     4945 Colfax Avenue South
  1399.     Minneapolis, MN 55409
  1400.  
  1401.     Fox Research
  1402.     7016 Corporate Way
  1403.     Dayton, Ohio 45459
  1404.     (513) 433-2238
  1405.  
  1406.     Hayes Microcomputer Products, Inc.
  1407.     5923 Peachtree Industrial Blvd.
  1408.     Norcross, Georgia  30092
  1409.     (404) 449-8791
  1410.  
  1411.     International Business Machines Corporation
  1412.     (Internal Zip Code 2900)
  1413.     P.O. Box 1328
  1414.     Boca Raton, Florida  33432
  1415.     (305) 998-2000
  1416.  
  1417.     Microcom, Inc.
  1418.     1400A Providence Highway
  1419.     Norwood, MA  02062
  1420.     (617) 762-9310
  1421.  
  1422.     Multi-Tech Systems, Inc.
  1423.     82 Second Avenue, S.E.
  1424.     New Brighton, Minnesota  55112
  1425.     (612) 631-3550
  1426.  
  1427.  
  1428.  
  1429.  
  1430.                        Page 22 of 135
  1431.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1432.  
  1433.     Orchid Technology
  1434.     4790 Westinghouse Drive
  1435.     Fremont, CA 94539
  1436.     (415) 490-8586
  1437.  
  1438.     Prometheus Products Incorporated
  1439.     4545 Cushing Parkway
  1440.     Fremont, CA  94538
  1441.     (415) 490-2370
  1442.  
  1443.     Quarterdeck Office Systems
  1444.     150 Pico Blvd.
  1445.     Santa Monica, CA 90405
  1446.     (213) 392-9701
  1447.  
  1448.     Racal-Vadic
  1449.     1525 McCarthy Blvd.
  1450.     Milpitas, California 95035
  1451.     (408) 774-0810
  1452.  
  1453.     The Software Link, Inc.
  1454.     8601 Dunwoody Place
  1455.     Suite 336
  1456.     Atlanta, GA  30338
  1457.     (404) 998-0700
  1458.  
  1459.     The Source
  1460.     1616 Anderson Road
  1461.     McLean, Virginia  22102
  1462.     (703) 734-7500
  1463.  
  1464.     U.S. Robotics, Inc.
  1465.     Skokie, Illinois 60076
  1466.     (312) 982-5010
  1467.  
  1468. Users  who feel that they have benefited or who appreciate such  commitment
  1469. to  the user community should write or call the above vendors and tell them
  1470. so,  especially  if  such  a commitment influenced the  purchase  of  their
  1471. products.   Similarly,  if  any user feels that other vendor should make  a
  1472. similar commitment to RBBS-PC and the user community,  write to that vendor
  1473. and send a copy of your letter to the following address:
  1474.  
  1475.                         D. Thomas Mack
  1476.                         10210 Oxfordshire Road
  1477.                         Great Falls, Virginia 22066
  1478.  
  1479. Section  22 describes the RBBS-PC standard interface for protocol  drivers.
  1480. All  vendors of proprietary protocols who would like to have them added  to
  1481. future releases of RBBS-PC need do is simply conform to this interface.
  1482.  
  1483. 3.2 RBBS-PC's User Support Policy
  1484. ---------------------------------
  1485. RBBS-PC is an all-volunteer effort on my part.   Professionally I am not  a
  1486. programmer (as anyone who has looked at the source code can testify) nor an
  1487. "expert/guru" on personal computers.  Since I am not independently wealthy,
  1488. I have a full time job (unrelated to PC's).   As with most other folks, I'm
  1489. also  busy  raising  a  family.   What time I can spare  from  these  other
  1490. activities  I  am  glad to donate to answer questions about  RBBS-PC  as  I
  1491. believe (somewhat fanatically) in the Userware concept.
  1492.  
  1493.  
  1494.  
  1495.                        Page 23 of 135
  1496.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1497.  
  1498. However,  if  you have questions regarding something other than the  "base-
  1499. line"  hardware  and software requirements outlined in section  2.0,  DON'T
  1500. CALL  ME.   I probably can't help you anyway and even if I do venture  some
  1501. advice  it  will probably be wrong.   One of the axioms of  the  "Userware"
  1502. concept is that every user should be able to help themselves -- that's  why
  1503. there  are  more  than 100 pages of documentation and the  source  code  is
  1504. freely distributed (under a limited license and copyrighted).
  1505.  
  1506. The only calls that I truly appreciate are those that reveal BOTH a problem
  1507. and  a solution.   These I am more than happy to share with anyone and  are
  1508. included in RBBS-PC (either the documentation,  the software,  or both)  as
  1509. rapidly as possible. Of course, if you encounter a problem and
  1510.  
  1511.      1.  read and re-read the documentation,
  1512.      2.  spend  days  and days attempting to isolate it,
  1513.      3.  called other  SYSOP's  and asked  their help,
  1514.      4.  looked up any error messages you encountered (they are in the
  1515.          BASIC manual that comes with your IBM PC's DOS),
  1516.      5.  know what version of RBBS-PC that you are running,
  1517.      6.  know what version of CONFIG that you are running,
  1518.      7.  eliminated all other software from your environment,
  1519.  
  1520. and  still can not get RBBS-PC to work,  I am most happy to  lend  whatever
  1521. telephone  advice I can.
  1522.  
  1523. In  this regard,  it may help to remember that there are only two types  of
  1524. problems  -- MY  problems (which are the ones that I can solve)  and  OTHER
  1525. PEOPLE's problems (which are the ones that I can't solve).
  1526.  
  1527. 4.0 OPERATING SYSTEM REQUIREMENTS
  1528. ---------------------------------
  1529. Beginning  with RBBS-PC version CPC13-1A,  RBBS-PC requires version 2.0  or
  1530. above of IBM's Disk Operating System (DOS).  RBBS-PC will not run under the
  1531. BASIC  interpreter.   Nor is it reasonable to expect that RBBS-PC would run
  1532. under ANY other DOS supplied by any other vendor (including Microsoft).
  1533.  
  1534. 5.0 HOW TO GET A COPY OF RBBS-PC SENT TO YOU
  1535. --------------------------------------------
  1536. RBBS-PC  can be obtained by sending a  check  for  $8 to the
  1537.  
  1538.                Capital PC Software Exchange
  1539.                P.O. Box 6128
  1540.                Silver Spring MD 20906.
  1541.  
  1542. RBBS-PC is distributed on two double-sided, 9-sector, diskettes. Allow 3 to
  1543. 4 weeks for delivery -- remember this is an all-volunteer effort.   Be sure
  1544. to specify RBBS-PC CPC15-1A on "diskette # 18".
  1545.  
  1546. Version  CPC15-1A  of RBBS-PC's .EXE file is distributed after having  been
  1547. compiled  with  QuickBASIC  Version 2.01 compiler that had  the  DTR  patch
  1548. described  in  Appendix  S  applied to it.   This  is  because  Microsoft's
  1549. QuickBASIC  Version  2.0  compiler has a bug in it that  causes  the  local
  1550. SYSOP's PgUp and PgDn functions to give unusual results.
  1551.  
  1552. The  exigencies  of  RBBS-PC software releases may mean  that  diskette  18
  1553. contains  an  earlier version of RBBS-PC than CPC15-1A (either  you  bought
  1554. diskette 18 sometime ago or there has been not enough time for diskette  18
  1555. to  be updated to this most current version).    Not to fear!   Your $8 has
  1556. not   been  wasted.    At least two bulletin boards keep the  most  current
  1557. copies of  RBBS-PC CPC15-1A for downloading.  They are:
  1558.  
  1559.  
  1560.                        Page 24 of 135
  1561.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1562.  
  1563. (703) 759-5049 --+
  1564.                  +---- East Coast (Great Falls, Virginia),
  1565. (703) 759-9659 --+
  1566.  
  1567. (415) 689-2090 ------- West Coast (Concord, California).
  1568.  
  1569. For  those  interested,   a  LaserJet  printer  ready  file  of   RBBS-PC's
  1570. documentation  is  available  from  the NICBUL RBBS-PC system  run  by  the
  1571. Nicolet Instrument Corp.  by downloading the file named RBSDOCLJ.ARC.   The
  1572. SYSOP  is  Michael  L.  Brown and the bulletin board  is  available  Monday
  1573. through  Friday  from  6PM  to 8AM (Central  Standard  Time)  and  all  day
  1574. Saturdays  and Sundays.   The number is (608) 273-5037.   If you want it in
  1575. "hard  copy" form,  send a 9.5 x 12.5# envelope with $2.09 in  postage  to:
  1576. (one envelope per request)
  1577.  
  1578.          Michael L. Brown
  1579.          Nicolet Instrument Corporation
  1580.          5225-2 Verona Road
  1581.          P.O. Box 4288
  1582.          Madison, WI  53711-0288
  1583.  
  1584. 6.0 FILES RBBS-PC USES
  1585. ----------------------
  1586. There  are essentially two types of files that RBBS-PC uses -- "system" and
  1587. "text"  files.   "System"  files are defined as random files  that  RBBS-PC
  1588. reads  and  writes  to.   "Text" files are defined as  files  that  RBBS-PC
  1589. primarily reads from.   Text files can be edited externally to RBBS-PC with
  1590. most  text editors that can handle ASCII files.  Either type of file can be
  1591. "static" or "variable" in length.  By "static" it is meant that these files
  1592. have  a  pre-defined  length beyond which RBBS-PC  does  not  extend  them.
  1593. Similarly,  "variable" length files are defined as those files whose length
  1594. is  dynamically  increased by RBBS-PC.   In a multiple RBBS-PC  environment
  1595. only the "static" length files can be shared SAFELY among the various RBBS-
  1596. PC's.   The following table summarizes, using the default file names, which
  1597. categories the various RBBS-PC files fall into:
  1598.  
  1599.         "Static" Length Files       "Variable" Length Files
  1600.  
  1601.   -----   MESSAGES                      CALLERS
  1602.    /|\    USERS                         COMMENTS
  1603.   System  MESSAGES.BAK                  99.DIR (upload directory)
  1604.   Files   USERS.BAK                     upload disk
  1605.    \|/    RBBSxPC.DEF                   ARCWORKx.DEF
  1606.   -----   QMXFERx.ERR
  1607.  
  1608.   -----   BULLET
  1609.    /|\    LGx.DEF
  1610.     |     RBBSxF1.DEF (Created by RBBS-PC)
  1611.     |     BULLET1 --> BULLETn
  1612.     |     DIR.DIR
  1613.     |     aa.DIR  --> bb.DIR
  1614.   Text    FILESEC and PASSWRDS
  1615.   Files   HELPxx
  1616.     |     MENU0   --> MENUA
  1617.     |     MAIN.HLP,FILE.HLP,UTIL.HLP
  1618.     |     xy.HLP (help for commands)
  1619.     |     NEWUSER
  1620.     |     PRELOG
  1621.    \|/    TRASHCAN & CONFENCE
  1622.   -----   WELCOME
  1623.  
  1624.  
  1625.                        Page 25 of 135
  1626.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1627.  
  1628. In  a CORVUS network environment any of  the "static" length files  can  be
  1629. shared  on  a common volume and ALL of the "variable" length files must  be
  1630. segregated on volumes unique to each copy of RBBS-PC.   RBBS-PC issues  the
  1631. NAME function of BASIC in order to determine if a file exists.   Because of
  1632. this,  all  the volumes accessed by any RBBS-PC in a CORVUS network must be
  1633. designated "read/write." Therefore,  you must be very careful when  running
  1634. CONFIG.BAS.  CONFIG creates the definition file (RBBSxPC.DEF) for each copy
  1635. of  RBBS-PC.
  1636.  
  1637. In  a MultiLink (from the Software Link,  Inc.) environment and in Orchid's
  1638. PC-NET environment the vendors claim that not only all the "static"  length
  1639. files  can  be  shared on a common volume but also some of  the  "variable"
  1640. length files can be shared.  However,  if you want to be as conservative as
  1641. possible,  run  RBBS-PC  in ALL environments as if it where  running  in  a
  1642. CORVUS network environment.  However, if you rely on the vendors claims, in
  1643. either  a  MultiLink or PC-NET environment,  when running CONFIG.BAS  which
  1644. creates  the definition file (RBBSxPC.DEF) for each copy  of  RBBS-PC,  you
  1645. must be careful to put at least the CALLERS file on a non-shareable volume.
  1646.  
  1647. 6.1  RBBS-PC System Files
  1648. -------------------------
  1649. As shown above, "system" files are both static and variable in length.  The
  1650. system files used by RBBS-PC are:
  1651.  
  1652. MESSAGES  - This  file is a random file that contains the message text  for
  1653.         the   RBBS-PC system.    The first record in the file contains  the
  1654.         RBBS-PC  "checkpoint" record.   The records  immediately  following
  1655.         this  first record are the RBBS-PC "node" records.  The rest of the
  1656.         file consists of message  header  records  which  are  followed  by
  1657.         the  message  text  for  that  header.    Appendix A describes  the
  1658.         fields  and  their uses within the various type of records  of  the
  1659.         messages file.   RBBS-PC expects the MESSAGES file to exist and  to
  1660.         have  been created by CONFIG.BAS.   If CONFIG.BAS does not find the
  1661.         MESSAGES  file  or it finds one in  pre-CPC12-3A  format,  it  will
  1662.         create  it   and  initialize it to the size  the  SYSOP  specifies.
  1663.         Because  of the fixed length records in  this file,   it should not
  1664.         be  created or edited outside CONFIG.    When  the  SYSOP   "packs"
  1665.         the  message file using CONFIG, the file MESSAGES.BAK is created to
  1666.         hold   the  old messages in case the "pack" is  unsuccessful  (i.e.
  1667.         not enough space  to  duplicate  the  message file).   If the  disk
  1668.         fills  up   during  the  pack  function RBBS-PC will   recover  the
  1669.         message  file  using  MESSAGES.BAK.   When  the  messages  file  is
  1670.         successfully  packed,  the  pre-packed  messages file  is   renamed
  1671.         MESSAGES.OLD   and  the  temporary  file  MESSAGES.BAK  is  renamed
  1672.         MESSAGES.  The  MESSAGES  file  should  only  be   "packed"  in   a
  1673.         multiple  RBBS-PC  environment  when there are no RBBS-PCs  active.
  1674.         The MESSAGES file can be shared among multiple RBBS-PCs.
  1675.  
  1676. USERS  - The USERS file is a random access file that has a record for  each
  1677.         user  who used the system.   The record contains a profile for each
  1678.         user who has logged onto RBBS-PC.   Appendix A describes the format
  1679.         of the records within the USERS file.  The records are 128 bytes in
  1680.         length and are automatically  maintained  by  RBBS-PC.   The  SYSOP
  1681.         can  do  some   limited  editing   using   SYSOP  function  5.   To
  1682.         initialize the system simply ERASE this file.   RBBS-PC expects the
  1683.         USERS  file to exist.   If  CONFIG.BAS does  not  find the file  on
  1684.         the  system  it will create it to the size specified by the  SYSOP.
  1685.         The   USERS   file    should   not be  created  or  edited  outside
  1686.         CONFIG.BAS.     When  the  SYSOP   "packs"   the  user  file  using
  1687.         CONFIG.BAS,  the file USERS.BAK is created to hold the old users in
  1688.         case   the   "pack"  is unsuccessful (i.e.   not  enough  space  to
  1689.  
  1690.                        Page 26 of 135
  1691.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1692.  
  1693.         duplicate the  users  file).   If the disk fills up during the pack
  1694.         function RBBS-PC will recover  the USERS file with USERS.BAK.  When
  1695.         the users file is successfully packed, the pre-packed users file is
  1696.         renamed  USERS.OLD  and  the temporary file  USERS.BAK  is  renamed
  1697.         USERS. The USERS file should only be "packed" in a multiple RBBS-PC
  1698.         environment when there are no RBBS-PC's active.  The USERS file can
  1699.         be shared among multiple RBBS-PC's.
  1700.  
  1701. CALLERS - This file is a random file that contains a log of all callers  as
  1702.         they  log on to the system along with callers city and  state,  the
  1703.         date and the  time.   The names are added to the end of the file as
  1704.         well  as  are the names  of  the files uploaded/downloaded  by  the
  1705.         caller.    If the file is not found  RBBS-PC will create a new one.
  1706.         The  file  should be ERASED to clear the  log.   The  CALLERS  file
  1707.         cannot be shared among multiple RBBS-PC's.
  1708.  
  1709. COMMENTS  - This file is a sequential file that contains any comments  that
  1710.         have been left by users for the SYSOP.   The file can be scanned by
  1711.         a  SYSOP   function  or it can be TYPEd or edited outside the  RBBS
  1712.         system.    A  SYSOP  function is available to delete this file,  or
  1713.         it  can be emptied outside of  DOS.    The file will be created  by
  1714.         RBBS-PC  if it is not found.   The COMMENTS file cannot  be  shared
  1715.         among  multiple RBBS-PC's using CORVUS's "OMNINET".   This file can
  1716.         be shared using MultiLink or Orchid.
  1717.  
  1718. 99.DIR   - The  file  on the upload disk that is to have  the  name,   file
  1719.         size,  date, and description appended to it of files that have been
  1720.         uploaded.   The  99.DIR file cannot be shared among multiple  RBBS-
  1721.         PC's using CORVUS's "OMNINET", but can be shared using MultiLink or
  1722.         Orchid.
  1723.  
  1724. RBBS-PC.DEF  - This  is  an  ASCII  text file  created  as  output  by  the
  1725.         CONFIG program.    It contains the configuration parameters for the
  1726.         RBBS.  It  is  read by RBBS to determine the configuration settings
  1727.         tailored   to  your  RBBS- PC.   In a multiple RBBS-PC  environment
  1728.         the definition file for each RBBS-PC is named RBBSxPC.DEF where "x"
  1729.         is a number 1 through 9 ,  0 (for the tenth copy),  and A through Z
  1730.         (for  the eleventh through 36th copy) corresponding to  which  copy
  1731.         RBBS-PC it  describes.   In a  single RBBS-PC  environment the name
  1732.         will be RBBS-PC.DEF.
  1733.  
  1734. ARCWORKx.DEF  - This file is created as output by the ARC view command  and
  1735.          contains the contents of the ARC file being inquired against.
  1736.  
  1737. QMXFERx.ERR - This file is created as output by QMXFER.COM to notify RBBSPC
  1738.         of the results of an external file protocol transfer.
  1739.  
  1740. x.BAT - This file is created when external protocol  drivers are invoked by
  1741.         SHELLing in order to allow command lines longer than 80 characters.
  1742.  
  1743. RBBS-PC  displays on line 25 the status of those files which must be locked
  1744. in a network environment.  The lock status of the message file is displayed
  1745. in  positions 68 & 69.   The lock status of the user file is  displayed  in
  1746. positions 71 & 72.  The lock block status is displayed in positions 74 & 75
  1747. and comments/uploads share positions 77 & 78.   The letter "U" in the first
  1748. position  shows that the file is currently "UNLOCKED".   The letter "L"  in
  1749. the first position indicates that the file is "LOCKED".
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.                        Page 27 of 135
  1756.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1757.  
  1758. 6.2  RBBS-PC Text Files
  1759. -----------------------
  1760. Similarly, the RBBS-PC "text" files are both static and variable in length.
  1761. The "text" files used by RBBS-PC are:
  1762.  
  1763. BULLET   - This is a text menu file that is printed following the   WELCOME
  1764.         file  when a user first enters the system.   It must be present  if
  1765.         "CONFIG  Utility parameter # 43" is greater than 1.  It can also be
  1766.         called from  the  main  menu  with the <B>ulletins command.
  1767.  
  1768. BULLET1 --> n -- There can be 1 to 99 "bulletins".   RBBS-PC will check for
  1769.         the existence of a file whose name consists of the prefix given  by
  1770.         parameter  44  of CONFIG.BAS appended with the bulletin number  and
  1771.         using parameter 41 of CONFIG.BAS to determine the drive to find the
  1772.         bulletin on.
  1773.  
  1774. Users  can elect to have displayed two different types of "graphics"  files
  1775. for such standard RBBS-PC system files as HELPxx,  BULLET, MENU's, etc.  In
  1776. order  for a user to see either of these two different types of  "graphics"
  1777. files, the following must have occurred:
  1778.  
  1779.           logged  on  N/8/1,
  1780.           requested graphics (either full ASCII or "color/music"), and
  1781.           the file must exist and the filename end in either:
  1782.                "G" for files containing the graphic ASCII characters
  1783.                     whose values are in the range 129 to 256, or
  1784.                "C" for files containing combinations of the full
  1785.                     256 characters that the caller's communication
  1786.                     software can interpret and translate into colors
  1787.                     and music (e.g. PCTK666, QMODEM, and EXECPCT).
  1788.  
  1789. RBBS-PC  will check to see if a "graphics" files exists by appending a  "G"
  1790. or "C" to the file name.  If such a file can't be found, RBBS-PC will check
  1791. to see if a non-graphics file exists (i.e.  one without the "G").   RBBS-PC
  1792. will  display the first file it finds or a message that the file can not be
  1793. found.
  1794.  
  1795. DIR.DIR,  aa.DIR  -->  nn.DIR  -- At  least  one  DIR.DIR file  has  to  be
  1796.         present   on   one   of   the  drives  available  for  downloading.
  1797.         Alternative directories, aa.DIR --> nn.DIR (see section 14), should
  1798.         be meaningful and  should be reflected in the DIR file.
  1799.  
  1800. FILESEC - is more fully described in section 17.4 on security.
  1801.  
  1802. HELP    -- There  is  a  help file for each command which  has  the  format
  1803.         xy.HLP, where x is the first letter of the section (M,F,U) and y is
  1804.         the  command  letter.   There are also the following  special  help
  1805.         files:
  1806.  
  1807.         MAIN.HLP  -text  file that is printed when <H>elp is  requested  on
  1808.         the  main function prompt.  It contains  command information.
  1809.  
  1810.         HELP03  -text  file that describes the message  protection  options
  1811.         when   <?>   is   entered  after  the  message <E>nter  command  is
  1812.         executed  at  the  main  message menu.
  1813.  
  1814.         HELP04  -text  file that describes the message  entry  subfunctions
  1815.         when  <?>  is entered at the subfunction prompt.
  1816.  
  1817.         FILE.HLP  -text   file that is printed when <H>elp is  entered   in
  1818.         the  files  subsystem function prompt.
  1819.  
  1820.                        Page 28 of 135
  1821.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1822.  
  1823.  
  1824.         HELP07 -text  file printed when <H>elp is requested at the  message
  1825.         read  prompt.
  1826.  
  1827.         UTIL.HLP - text file  printed  when  <H>elp is  requested  in   the
  1828.         utility  subsystem function prompt.
  1829.  
  1830.         HELP09  -text  file  printed when <H>elp is requested for  type  of
  1831.         graphics a user wants (none, ASCII, color/music).
  1832.  
  1833. MENU0->A -- contain the local SYSOP's menu and menu of various commands for
  1834.         the  subsystems.   It  is  recommended that these be placed  on  an
  1835.         electronic disk drive  (i.e.   RAM) rather than on a floppy or hard
  1836.         drive.
  1837.  
  1838. NEWUSER  - This is a text file that is displayed for new users just  before
  1839.         registration occurs.
  1840.  
  1841. PASSWRDS - is more fully described in section 17.3 on security.
  1842.  
  1843. PRELOG  - A text file displayed to users prior to logging on.
  1844.  
  1845. TRASHCAN  - is  a  text  file  that contains names  that  the  SYSOP  finds
  1846.         objectionable  and  does not want used as either a users  first  or
  1847.         last name.  RBBS-PC uses this file, if it exists, to deny access to
  1848.         anyone  using  one  of these names for either their first  or  last
  1849.         name.
  1850.  
  1851. WELCOME  - is  a  text  file that a user first sees upon logging  onto  the
  1852.         system.    It   must  be present,   and it should  be  modified  to
  1853.         identify   your   system.   Similarly each "conference" can have  a
  1854.         "welcome" file by having a file whose last character ended in a "w"
  1855.         (i.e.  conference "RBBS" would have a message file named  RBBSM.DEF
  1856.         and  a user file named RBBSU.DEF if it where a "private" conference
  1857.         and a welcome file named RBBSW.DEF).
  1858.  
  1859. CONFENCE - A text file displayed to users who issue the J)oin function from
  1860.         the  main  menu.   It can be created by any text  editor  that  can
  1861.         create  an  ASCII file and should contain a list of  the  available
  1862.         conferences.
  1863.  
  1864. LGx.DEF  - This  is  the file displayed to a user whose security  level  is
  1865.         below the minimum to log on.  The "x" defines the security level of
  1866.         the  users who would see this file.   A SYSOP can "lock out"  users
  1867.         (i.e. give them a security level below the minimum to logon on) for
  1868.         various  reasons.   This  allows  users to know why  they  are  not
  1869.         allowed  to  log  on (i.e.  LG4.DEF explains  because  of  security
  1870.         violations,  LG-1.DEF because of inappropriate behavior,  LG-99.DEF
  1871.         because  he  has never uploaded anything or answered a messages  in
  1872.         the last 22 months, etc.).
  1873.  
  1874. RBBSxF1.DEF  -- This  is the file dynamically created when the local  SYSOP
  1875.         wants to drop to DOS.
  1876.  
  1877. 7.0 INSTALLING RBBS-PC FOR THE FIRST TIME
  1878. -----------------------------------------
  1879. RBBS-PC,  unlike  simpler applications such as games and  utilities,  is  a
  1880. complex  application that requires someone who wishes to set up RBBS-PC  to
  1881. already  be familiar with modems and PC communications.   This  section  is
  1882. intended  to provide a step-by-step approach to setting up RBBS-PC for  the
  1883. first time.   Follow the steps thoughtfully!   Do not proceed to subsequent
  1884.  
  1885.                        Page 29 of 135
  1886.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1887.  
  1888. steps until you understand all the previous steps.
  1889.  
  1890. Because RBBS-PC attempts to provide SYSOP's the maximum flexibility,  it is
  1891. perfectly possible for those setting RBBS-PC up for the first time to shoot
  1892. themselves in the foot.   Be patient with yourself.   Remember that  things
  1893. worth achieving usually are not obtainable without effort.
  1894.  
  1895. Because  of  the prevalence of hard disk usage these  days,  the  following
  1896. assumptions about the hardware to be used to set up RBBS-PC has been made:
  1897.  
  1898.          1. IBMPC or XT with a hard disk (previously formatted!)
  1899.          2. Minimum RAM of 256k
  1900.          3. Hayes external modem
  1901.          4. Dedicated 'voice grade' phone line
  1902.  
  1903.                              SOFTWARE REQUIRED
  1904.  
  1905.          1. IBM PC-DOS 2.0 or higher to adequately support a hard disk
  1906.          2. RBBS-PC.EXE - the main program
  1907.          3. CONFIG.EXE - the setup program
  1908.          4. RBBS-PC.DOC - the documentation file
  1909.          5. ALL of the RBBS text files: MENU1 - MENU5, HELPxx, *.HLP,
  1910.             WELCOME, DIR.DIR, xxxxxxxx.DIR, PRELOG, BULLET, BULLETxx
  1911.          6. A text editor (PE2, WS non-doc, EDLIN, etc.) to create other
  1912.             useful/needed text files.  Your editor MUST be capable of
  1913.             saving spaces (hex 20's) as characters and not substitute
  1914.             tab characters for strings of spaces.  Those mentioned
  1915.             above ARE.
  1916.          7. WATCHDGx.COM - an external carrier monitor prgm. x=COMx:
  1917.                            available from most RBBS-PC systems.
  1918.  
  1919. 1.  [ ] PRINT A COPY OF THE DOCUMENTATION!
  1920. 2.  [ ] Have dinner or take a nap while the previous step executes.
  1921. 3.  [ ] Create a sub-directory in which RBBS-PC is to reside.
  1922. 4.  [ ] Change current directory to the newly created directory CHDIR \RBBS.
  1923. 5.  [ ] Create a sub-directory called NEW for your uploads.
  1924. 6.  [ ] Create a DOS sub-directory to hold downloads
  1925.  
  1926.              MKDIR DOWNLOAD  etc. as a DOS sub-directory of C:\RBBS
  1927.  
  1928.         The  following  is a suggested 'layout' of the sub-directories  and
  1929.         files which comprise RBBS.
  1930.  
  1931. C:\
  1932.     COMMAND.COM
  1933.     \DOS
  1934.     \RBBS
  1935.          RBBS.BAT
  1936.          RBBS-PC.EXE
  1937.          CONFIG.EXE
  1938.          WATCHDGx.COM
  1939.          MESSAGES
  1940.          USERS
  1941.          MENU1
  1942.          MENU2
  1943.          MENU3
  1944.          MENU4
  1945.          MENU5
  1946.          MENUA (OPTIONAL)
  1947.          HELPxx
  1948.          *.HLP
  1949.  
  1950.                        Page 30 of 135
  1951.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  1952.  
  1953.          WELCOME
  1954.          PRELOG (OPTIONAL)
  1955.          BULLET
  1956.          BULLET1 (HOWEVER MANY)
  1957.          FILESEC
  1958.          PASSWRDS
  1959.          TRASHCAN
  1960.          CALLERS (WRITTEN BY RBBS-PC)
  1961.          COMMENTS (IF NOT USING COMMENTS AS MESSAGES WILL BE CREATED BY RBBS)
  1962.     \RBBS\NEW
  1963.              UPLOADS.DIR
  1964.              (Whatever your users upload will go here)
  1965.     \RBBS\DIR
  1966.              DIR.DIR
  1967.              GAMES.DIR
  1968.              TURBO.DIR
  1969.              PATCHES.DIR
  1970.              UTILS.DIR
  1971.     \RBBS\DOWNLOAD
  1972.              (Whatever files your users can download you must put here)
  1973.  
  1974. 7.  [ ] Copy RBBS-PC.EXE to the current directory  (C:\RBBS should be).
  1975. 8.  [ ] Copy CONFIG.EXE to the current directory.
  1976. 9.  [ ] Copy all MENU and HELP files to the current directory.
  1977. 10. [ ] Create a text file which will serve as your bulletins menu (default
  1978.         = BULLET) using your text editor.   Normally,  it is desirable  for
  1979.         this to be a single 23-line page or shorter.  This is to serve as a
  1980.         'menu'  for the user to select bulletins for reading by choosing  a
  1981.         number  (1-99).   Each  bulletin  file  you create  will  be  named
  1982.         BULLETxx  where xx = the number on this menu file.   The  following
  1983.         illustrates what you might create:
  1984.  
  1985. +----------------------------------------------------------------+
  1986. |                         Bulletin Menu                          |
  1987. |----------------------------------------------------------------|
  1988. | # | UPDATED  |                  SUBJECT                        |
  1989. |----------------------------------------------------------------|
  1990. | 1 | 01/01/80 | TOPIC OF BULLETIN #1  (BULLET1)                 |
  1991. | 2 | 01/01/80 | TOPIC OF BULLETIN #2  (BULLET2)                 |
  1992. | 3 | 01/01/80 | TOPIC OF BULLETIN #3  (BULLET3)                 |
  1993. +----------------------------------------------------------------+
  1994.  
  1995. 11. [ ] Create a text file for each bulletin that are going to be available
  1996.         BULLET1  BULLET2  ...   etc.   making certain that the contents  of
  1997.         each corresponds to the indication in the bulletin menu file.
  1998. 12. [ ] To support  all  of the  graphics options  of RBBS you  will need a
  1999.         separate  BULLET  file (BULLETG for IBM-ASCII and BULLETC for  ANSI
  2000.         graphics).   This naming convention (suffix of G or C) applies also
  2001.         to  the menus and the directory files.   If disk space  is,  or  is
  2002.         anticipated to be, a problem use of only one set of menu.  Graphics
  2003.         or color menus and bulletins are entirely optional and RBBS-PC will
  2004.         run fine without them.
  2005. 13. [ ] Create a text  file named PRELOG.  Although  this file is  truly an
  2006.         an option,  it is a good place for announcements which you want all
  2007.         callers to see.  If your system restricts new users to 1200 baud or
  2008.         higher  it  is also a good place to let 300 baud callers  know  why
  2009.         they cannot log on.
  2010. 14. [ ] Create a text  file named  WELCOME (WELCOMEG, WELCOMEC, if desired)
  2011.         which can contain anything you'd like to express to your callers in
  2012.         the way of a greeting or other info.   Many SYSOPS use this file to
  2013.         display their 'logo' and a brief description of the equipment  they
  2014.  
  2015.                        Page 31 of 135
  2016.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2017.  
  2018.         are using.
  2019. 15. [ ] Now we come to the  text files  which are the most  hassle, both to
  2020.         create  initially  and to maintain.   The files list(s)  which  are
  2021.         called directories in the documentation.   These text files require
  2022.         a very specific format (illustrated below) because RBBS-PC searches
  2023.         for  information based on the fields being pre-determined  lengths.
  2024.         The  top  of  each file should be a 'header'  which  describes  the
  2025.         contents of the list (utilities, newfiles, etc.).
  2026.  
  2027.     ************************************************************************
  2028.     HEADER ILLUSTRATION        HEADER ILLUSTRATION       HEADER ILLUSTRATION
  2029.     ------------------------------------------------------------------------
  2030.     NAME.EXT         SIZE    DATE    DESCRIPTION
  2031.     ************************************************************************
  2032.     RBBSCRIP.ARC     2560  07-20-86  QMODEM SCRIPT to log you onto RBBS's
  2033.     PC-QUIZ.ARC     34048  07-19-86  Used to quiz or as a trivia game
  2034.     DB3AR.ARC       53248  07-17-86  dBASE ]I[ Accounts Receivable Package
  2035.     ^            ^         ^         ^
  2036.     1            14        24        34
  2037.  
  2038.     NOTE THE NUMBERS UNDER THE CARETS!  They  indicate the  starting column
  2039.     for each field.  Fortunately, the starting columns are the same for the
  2040.     output  of the DOS 'DIR' command which by re-directing the output to  a
  2041.     file will take care of the structure of the first four fields.   You'll
  2042.     need  to delete the time of day which DOS will include in  the  output.
  2043.     One  last comment on the 'directory' files,  it will be to your  users'
  2044.     advantage  if  you arrange the listings in descending date order  (most
  2045.     recent first) as illustrated above.
  2046.  
  2047. 16. [ ] You will want a ".DIR" file  to correspond to each of the  DOS sub-
  2048.         directories available to your users for downloading.
  2049. 17. [ ] Create a text  file  named  DIR.DIR  which  contains a list  of the
  2050.         available  .DIR  filenames  (minus the extension)  and  some  brief
  2051.         description of how the user may view these lists.
  2052.                    i.e. L;XYZ    or    L;123
  2053.  
  2054.         Now for some suggestions:
  2055.           1) Place all your .DIR files in the same subdirectory.
  2056.           2) If you don't want your upload directory seen, do NOT
  2057.              place it in with the other .DIR files.
  2058.  
  2059. 18. [ ] Create a text  file named  FILESEC  which  is one  of the most sig-
  2060.         nificant  of  the SYSOP generated files since it  gives  you  total
  2061.         control  of  which files & sub-directories are available to you  or
  2062.         your  users for downloading.   Files may additionally be  protected
  2063.         from downloading by password(s) which RBBS will require of the user
  2064.         if the file is requested.  The format of this file is VERY specific
  2065.         as  are  the  other security related files  you  will  create.   An
  2066.         illustration of what a FILESEC file might look like is as follows:
  2067.  
  2068.         FILESEC - the first three examples are protected internally by
  2069.                   RBBS-PC from downloading even by the SYSOP, but make
  2070.                   good examples anyway.
  2071.  
  2072. C:\RBBS\*.DEF,10,            Downloadable ONLY by security level 10's
  2073. C:\RBBS\CALLERS,10,CTSA      ONLY by security level 10's who know password CTSA
  2074. C:\RBBS\COMMENTS,,CTSA       Any security level who know password CTSA
  2075. C:\NEW\*.*,,CTSA             ALL files in \NEW protected requiring pswd. CTSA
  2076.  
  2077. 19. [ ] Create yet  another text  file named TRASHCAN  which is  checked by
  2078.         RBBS-PC when a newuser logs on,  it will contain a list of the user
  2079.  
  2080.                        Page 32 of 135
  2081.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2082.  
  2083.         names  which  you  will not permit on  your  system.   These  might
  2084.         include  sexually oriented or derogatory  terms,  computer  jargon,
  2085.         common abbreviations, etc.
  2086.  
  2087.         TRASHCAN - this file contains a list (in UPPER case) of names which
  2088.                    you  do not wish to have as user names on  your  system.
  2089.                    This   could  include  foul  language  or  anything  you
  2090.                    consider  undesirable names.   Each word has to be on  a
  2091.                    separate line and end with a comma.
  2092. BITE,
  2093. BYTE,
  2094. GLADIATOR,
  2095. THE,
  2096.  
  2097. 20. [ ] Create a text file  named PASSWRDS from  which you may  control the
  2098.         the  logon  duration of various user security levels and/or  permit
  2099.         extending the current logon of a user through knowledge of specific
  2100.         passwords.   Again,  the  format  of this file is critical  to  its
  2101.         functionality.
  2102.  
  2103.         PASSWRDS - This file permits control of logon durations by security
  2104.                    level and a way of extending the current session by  the
  2105.                    user changing to a temporary password.
  2106. ,5,45,              all level 5's have 45 mins.
  2107. LONGER,5,90,        by using the TEMPORARY password LONGER 5's get 90 mins.
  2108. ,6,60,              all level 6's have an hour
  2109. ,10,360,            all level 10's have three hours
  2110.  
  2111.          NOTE: Four commas are required on each line, passwords MUST be in
  2112.                uppercase, and each line must end with a carriage return.
  2113.  
  2114. 21. [ ] There is one more text file  which you may  wish to utilize.  Named
  2115.         NEWUSER it is shown only to those persons signing on to your system
  2116.         for  the  first  time.   It can contain anything which you  want  a
  2117.         newuser to know about the system (ground rules,  conferences, etc).
  2118.         It  is  displayed immediately prior to the caller  being  asked  to
  2119.         C)hange his logon data, D)isconnect, or R)egister on the system.
  2120. 22. [ ] Create a batch file (RBBS.BAT is the one suggested in section 15 of
  2121.         the documentation) which can be very extensive or minimal depending
  2122.         upon  your needs/desires.   A minimal one is listed here  for  your
  2123.         convenience.
  2124.  
  2125.                    C:         ;change to your default RBBS drive
  2126.                    CD\RBBS    ;change to the BBS directory
  2127.                    IF EXIST RBBSxF1.DEF DEL RBBSxF1.DEF ;cleanup exit
  2128.                    IF EXIST RCTTY.BAT DEL RCTTY.BAT  ;cleanup if returning
  2129.                                                      ;from DOS/DOORS
  2130.                    WATCHDGx OFF  ;turn off external carrier monitor prgm.
  2131.                    RBBS-PC    ;invoke the BBS prgm.
  2132.                    WATCHDGx ON   ;turn on external carrier monitor prgm.
  2133.                    IF EXIST RBBSxF1.DEF GOTO EXIT
  2134.                    IF EXIST RCTTY.BAT RCTTY.BAT      ;start remote console
  2135.                                                      ;operation via this
  2136.                                                      ;dynamically built .BAT
  2137.                    CD\RBBS    ;return to BBS directory if not current dir.
  2138.                    RBBS.BAT   ;restart the loop
  2139.                    :EXIT      ;exit RBBSPC if F1 pressed
  2140.  
  2141. 23. [ ] Now with documentation in hand type CONFIG and  press Enter.  After
  2142.         a  welcoming  screen is displayed you will be asked if you will  be
  2143.         running multiple nodes - for this discussion it is assumed that you
  2144.  
  2145.                        Page 33 of 135
  2146.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2147.  
  2148.         have only one phone line.   So type NO and press the Enter key.  In
  2149.         a few seconds you will see the main configuration menu,  press  the
  2150.         F1 key to access the first 'page' of the setup options.   CAREFULLY
  2151.         answer  each of the questions regarding SYSOP names,  etc.   If you
  2152.         are  unsure  of  how  to  respond - refer  to  section  12  of  the
  2153.         documentation.
  2154. 24. [ ] Check that your modem's configuration switches have been set to the
  2155.         positions indicated in the docs (for Hayes 1200 external  UUDDDUUD)
  2156.         or  to the corresponding functions as listed in  the  documentation
  2157.         for your "Hayes-compatible" modem.  This step can be tricky if your
  2158.         modem is not among those  detailed in the documentation - even with
  2159.         the  modem manual in  hand.   But you knew this when you saved  all
  2160.         that money by purchasing a non-Hayes modem.
  2161. 25. [ ] Press  the 'End' key, respond 'YES' at  the prompt and press Enter.
  2162.         This  creates  a file named RBBS-PC.DEF in the  current  directory.
  2163.         During  the  execution of CONFIG.EXE it will have also created  two
  2164.         additional  files  (one for the user file and one for  the  message
  2165.         file) using the names you specified,  or USERS and MESSAGES if  you
  2166.         accepted the defaults.
  2167. 26. [ ] Turn on your modem if external.
  2168. 27. [ ] Look at your CONFIG.SYS and AUTOEXEC.BAT files and eliminate any
  2169.         terminate and stay resident software.
  2170. 28. [ ] Make sure you are running with IBM's (not Microsoft's) PC DOS.
  2171. 29. [ ] Type RBBS and press Enter.  You're on your way as a SYSOP!
  2172.  
  2173. 8.0  THE MOST COMMON PROBLEMS ENCOUNTERED WHEN INSTALLING RBBS-PC
  2174. -----------------------------------------------------------------
  2175. IT  CONTINUALLY RECYCLES!   This is caused by one of several  things.   The
  2176.    most  likely cause is that you have not set your modem correctly and the
  2177.    carrier detect (DTR) signal is always "true."  Most modems allow this to
  2178.    be set either as always true (that is what is causing the recycling)  or
  2179.    only  true  if  there is a modem on the other end that is  generating  a
  2180.    carrier signal.
  2181.  
  2182.    If  you have an external modem,  bring up RBBS-PC with the  modem  cable
  2183.    removed from the PC.  If you have an internal modem, bring up RBBS-PC on
  2184.    a PC that has a RS-232 interface.  In either case if the problem ceases,
  2185.    then set your modem's switches so that DTR is not always true.   If your
  2186.    modem has no switch to do this, get a modem that does.
  2187.  
  2188.    If  problem  still  persists  after bringing up  RBBS-PC  on  an  RS-232
  2189.    interface  without  a modem or modem cable attached and you are  running
  2190.    Microsoft's MS-DOS, bring up RBBS-PC under IBM's PC-DOS.
  2191.  
  2192.    If  after  bringing  up RBBS-PC under IBM's  PC-DOS  the  problem  still
  2193.    persists,  check  that your RS-232 port's cable really is grounded.   On
  2194.    AT-like RS-232 interfaces (9-pin),  a metal connector on the modem cable
  2195.    is often required.
  2196.  
  2197.    If,  after  all  of  the above has been  attempted,  the  problem  still
  2198.    persists,  try  deleting your MESSAGES and USERS files and re-run CONFIG
  2199.    to create new ones.
  2200.  
  2201.    Finally,  having exhausted all the above remedies,  the system continues
  2202.    to  continually  re-cycle,  you  may have an  incompatible  "clone"  PC,
  2203.    incompatible DOS, incompatible modem, and/or a bad copy of RBBS-PC.EXE.
  2204.  
  2205. IT WON'T ANSWER THE PHONE!  This also can be caused by one of the following
  2206.    things:
  2207.  
  2208.     1.)  Phone line is not plugged into the modem.
  2209.  
  2210.                        Page 34 of 135
  2211.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2212.  
  2213.     2.)  Modem is not powered on.
  2214.     3.)  Modem is not connected to the communications port that RBBS-PC was
  2215.          told to use.
  2216.     4.)  Your modem is not "Hayes compatible" enough to handle the modem
  2217.          commands described in section 13.
  2218.     5.)  Your modem cable does not have PIN 22 connected.
  2219.  
  2220.    RBBS-PC   does  not require PIN 22 to be hooked up on the  RS-232  cable
  2221.    (that's  the   cable  which runs between the modem and the computer)  if
  2222.    you  specify  in CONFIG that RBBS-PC is  to answer  the phone   on  zero
  2223.    rings  (and that  it is not  a RING-BACK system).  In this setting RBBS-
  2224.    PC will initialize the modem so that the MODEM automatically answers the
  2225.    phone.
  2226.  
  2227.    RBBS-PC's  default is that RBBS-PC depends on PIN 22  to know  when  the
  2228.    phone  is  ringing   and RBBS-PC (NOT the modem) answers  the  phone  by
  2229.    issuing the ATS1?  command to determine what ring has occurred and  then
  2230.    the ATA command to tell the modem to answer the phone (see section 13.
  2231.  
  2232.    In order for RBBS-PC to answer the phone on a specified ring number, the
  2233.    modem  must send a "ring-indicator" signal to to RBBS-PC.   This is  the
  2234.    way  that  RBBS-PC detects that the phone is  ringing.   Some  computers
  2235.    (i.e.  the PCjr's external RS-232 interface) and some modem cables don't
  2236.    have a "ring-indicator" signal.   PIN 22 is the  ring  indicator  coming
  2237.    from the modem going to the  computer. Just because you bought an RS-232
  2238.    cable, don't assume that it has PIN 22 connected.  The $55 12-pin RS-232
  2239.    cable  sold by many computer stores often may not have PIN 22 connected.
  2240.    For  about $18 in parts from Radio Shack you can put together  your  own
  2241.    RS-232  cable with all the  pins connected.   Recently a friend of  mine
  2242.    paid  $14.88  (including postage) for a RS-232 cable with all  the  pins
  2243.    connected  by  ordering part number CDB25P-4-S from Jameco  Electronics.
  2244.    Jameco Electronics' telephone number is (415) 592-8097.
  2245.  
  2246. IT  LOCKS  UP MY SYSTEM!   Actually this is probably caused by one  of  the
  2247.    following things:
  2248.  
  2249.     1.)  The .EXE file generated by the BASIC compiler is incompatible with
  2250.          either the DOS that you are running (i.e. it isn't IBM's DOS) or
  2251.          the other software you load into the system prior to running RBBS-
  2252.          PC via CONFIG.SYS or your AUTOEXEC.BAT file.
  2253.     2.)  You  indicated  in  CONFIG that you were running in  one  of  the
  2254.          supported networks (i.e. CORVUS, MultiLink, Orchid, etc.) but you
  2255.          aren't.
  2256.     3.)  You are running on a Compaq Deskpro (or using an add-on board that
  2257.          uses  the  unused IBM DOS interrupt X'7F') and  should  have  used
  2258.          CONFIG to indicate you are using an IBM-compatible PC.
  2259.     4.)  You are using an internal modem that doesn't have the same switch
  2260.          settings as the Hayes 1200 and/or your modem needs to have the
  2261.          result codes turned off when RBBS-PC re-cycles.  Set the modem
  2262.          initialization string to:
  2263.                     ATQ1E1F1M1X0H0
  2264.  
  2265. 9.0  PLANNING YOUR USER INTERFACE
  2266. ---------------------------------
  2267. RBBS-PC  provides each SYSOP the maximum control over what is presented  to
  2268. callers.  There are three areas of control:
  2269.  
  2270. o    The menus presented to novice callers.
  2271.  
  2272. o    What is included in the prompt all users get.
  2273.  
  2274.  
  2275.                        Page 35 of 135
  2276.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2277.  
  2278. o    What symbol invokes a particular function.
  2279.  
  2280. 9.1 Menus Shown to Callers
  2281. --------------------------
  2282. The  menus in RBBS-PC are external text files that are presented to  novice
  2283. users.   RBBS-PC  simply  displays what is in these files to  the  callers.
  2284. Therefore,  SYSOPs  are free to change the text in these files to  whatever
  2285. they  desire.   Simply edit the files.   However,  be sure to use an editor
  2286. that  produces  only ASCII text files with no special embedded  characters.
  2287. Most  word processing editors are not suitable because they insert  special
  2288. symbols in the file meaningful only to it.  WordStar, in non-document mode,
  2289. is fine,  as is the Personal Editor when files are saved with no tabs,  and
  2290. the Program Editor.   Most editors used for creating computer programs  are
  2291. suitable.
  2292.  
  2293. RBBS-PC  supports three types of files,  which the caller can select  using
  2294. his  graphics preference.   A file with no graphics has only typable  text.
  2295. ASCII  graphics  means  that all 255 ASCII values display on  the  caller's
  2296. screen using the IBM PC display conventions.   This allows support for many
  2297. symbols,  such as straight lines,  a heart,  and many others.   Using these
  2298. conventions,  many fancy graphic displays are possible.   Last,  a use  can
  2299. request color graphics,  which means that the caller's monitor supports not
  2300. only the IBM display conventions but supports ANSI commands for controlling
  2301. the  monitor,  which include such things as color as well as special  modes
  2302. like  blinking.   Using ANSI commands,  it is possible to fully control the
  2303. caller's monitor.  One can go so far as to create animated pictures.
  2304.  
  2305. Menu files are known by their names.  The format is XXXXXXXY, where XXXXXXX
  2306. is the base file name and Y is a one-character addition.   Y is nothing for
  2307. no graphics,  G for ASCII graphics, and C for color graphics.  RBBS-PC will
  2308. look  for  a  file based on the users graphic preference  and  display  the
  2309. graphics version if it exists.  Otherwise, the non-graphics file is used.
  2310.  
  2311. Graphics  files have more characters in them and therefore take  longer  to
  2312. transmit.   Creating them is not easy.  However, there are special ANSI and
  2313. graphics editors which make creating such files much easier.
  2314.  
  2315. 9.2 Subsystem Prompts Shown to Callers
  2316. --------------------------------------
  2317. RBBS-PC  has several configuration options which allow each SYSOP to select
  2318. the prompts that are presented to callers.  They are:
  2319.  
  2320. o   Whether the section name is shown.
  2321.  
  2322. o   Whether the letters of the available commands are shown.
  2323.  
  2324. The commands in RBBS-PC are divided into three sections:   MAIN,  FILE, and
  2325. UTILITY.   Each has a set of commands in them and there are command to move
  2326. between  sections.   If the SYSOP elects for the section name to be  shown,
  2327. the  command line will read "<section> command",  otherwise "Your command".
  2328. The default is to show the section.
  2329.  
  2330. RBBS-PC  normally  prompts  a caller with the commands  available  in  each
  2331. section that the caller has sufficient security to invoke.  Each command is
  2332. a single letter and is shown separated from the others by a  comma.   These
  2333. command  letters  can either be suppressed or not.   By leaving them  on  a
  2334. SYSOP  provides  each  caller  with a terse but helpful  reminder  of  what
  2335. commands are available to them.
  2336.  
  2337.  
  2338.  
  2339.  
  2340.                        Page 36 of 135
  2341.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2342.  
  2343. 9.3 Commands Available to Callers
  2344. ---------------------------------
  2345. All primary commands in RBBS-PC are invoked by single letter commands.   An
  2346. attempt  is made to associate the command with the first letter in  a  word
  2347. which  describes the function,  so that the command letter appears to be  a
  2348. short  abbreviation  for the longer word.   The command to  invoke  reading
  2349. messages is R.  The default symbols that would be shown in the command line
  2350. for each section are:
  2351.  
  2352. section|? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7
  2353. -------|-------------------------------------------------------------------
  2354. MAIN   |? A B C D E F   H I J K       O P Q R S T   V W X     1 2 3 4 5 6 7
  2355.        |
  2356. FILE   |?       D     G H       L   N     Q   S   U V   X
  2357.        |
  2358. UTILITY|?   B C     F G H       L M       Q R S T U     X
  2359.        |
  2360. GLOBAL |?               H                 Q             X
  2361.  
  2362. Four commands,  ? H Q and X, have the same meaning in every section and are
  2363. known  as "global."  The other commands all have unique  function  specific
  2364. for the section within which they are invoked.   For example, S in the main
  2365. section  stands  for S)can messages,  but S)ubstring search in  files,  and
  2366. S)tatistics on the board and session in utilities.   Symbols 1-7 stand  for
  2367. SYSOP functions.
  2368.  
  2369. RBBS-PC allows the SYSOP to substitute any symbol for any  command.   Y)ell
  2370. may  be substituted for O)perator page,  or Y)our mail for P)ersonal  mail.
  2371. If  a blank is substituted,  the command is removed from the list and is no
  2372. longer available.   Since there is no V)iew conference command in the  main
  2373. section,  a  SYSOP may elect to disable the V)iew conference command in the
  2374. main section by substituting a blank for it.
  2375.  
  2376. 9.4 RBBS-PC's "Wrap-around" Command Search
  2377. ------------------------------------------
  2378. There is a special option available in CONFIG which gives the SYSOP unusual
  2379. flexibility in configuring the user interface.   A caller is always "in"  a
  2380. section,  that  is where RBBS-PC looks for a command that the user requests
  2381. to  see whether it is a valid command.   The "wrap around" option  controls
  2382. how  RBBS looks further for a command when it is not found in  the  section
  2383. the caller is in.   If a SYSOP substitutes a blank for the V>iew conference
  2384. command in the main section (as mentioned in section 9.3) and a user enters
  2385. the  V  command from the main section,  the V>erbose ARC file list  command
  2386. would be what the caller would have invoked.
  2387.  
  2388. The basic idea is to look further in other sections, where the search order
  2389. is MAIN->FILE->UTILITY->GLOBAL->SYSOP and the search is circular, more like
  2390.  
  2391.                 ,-->- SYSOP --> MAIN -->---.
  2392.                 |                          |
  2393.                 G                          |
  2394.                 L                          F
  2395.                 O                          I
  2396.                 B                          L
  2397.                 A                          E
  2398.                 L                          |
  2399.                 |                          |
  2400.                 `----<--- UTILITY ---<-----'
  2401.  
  2402. The  current  section determines only where the search  starts.   If  roll-
  2403. around is used, the search will go completely around.  The real reason that
  2404.  
  2405.                        Page 37 of 135
  2406.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2407.  
  2408. "global" commands are global is that that RBBS-PC always searches after the
  2409. utility section if a command is not in the current section.  SYSOP commands
  2410. are therefore global for the same reason.
  2411.  
  2412. The  important feature that roll-around supports is that a command  with  a
  2413. unique  letter works in all sections.   Thus W)ho will work everywhere  the
  2414. same  if  roll-around  is  enabled.   THIS ALLOWS  THE  SYSOP  TO  SUPPRESS
  2415. SECTIONS.   In  effect,  by enabling roll-around and giving each command  a
  2416. unique  symbol,  all  commands  become  global and there  is  no  effective
  2417. difference between sections.  This allows SYSOPS to make commands available
  2418. on  a  single  level and makes it unnecessary to "go" to a  section  before
  2419. using a command in that section.
  2420.  
  2421. 9.5 How to Have a Single Universal Command Line
  2422. ------------------------------------------------
  2423. The  command structure within RBBS-PC can be made "flatter" without  making
  2424. it absolutely flat.  Suppose, for example, that a SYSOP wants callers to be
  2425. able to do all file functions without going to a files section.  In effect,
  2426. the  file functions are available in the main section,  or the file section
  2427. is merged into the main section.   All that is needed to do is to eliminate
  2428. the  overlap  in  command letters between the  two  sections.
  2429.  
  2430. The shared letters are D,  S,  V, and U.  V is easy to handle.  Since it is
  2431. not really used in the main menu, just disable V in the main section.
  2432.  
  2433. D is difficult because both D)oors and D)ownload are entrenched and natural
  2434. options.   One  could  leave D for the most frequently used  function,  say
  2435. download, then use a special but arbitrary symbol like @ for doors.
  2436.  
  2437. S)earch  for  substrings  could be replaced by F)ind since F for  going  to
  2438. F)iles  is  not longer needed.   This could be  accomplished  by  disabling
  2439. F)iles  and  substituting  F  for  S  in  the  files  commands.   The  main
  2440. disadvantage is that experienced users will use F expecting to get into the
  2441. F)iles section and will get a confusing command.   Alienating the old users
  2442. who will try to use F would defeat the purpose of helping them by making it
  2443. unnecessary  to use F to get the file functions.   Better to leave F  alone
  2444. and use a new letter like Z for Z)ippy search.
  2445.  
  2446. U  has  to be upload.   Note that Quit could still get  one  to  utilities.
  2447. Using Q;U we can then disable U in the main menu.   If three symbols is too
  2448. much  of an exception we could use W for W)rite user preferences but  would
  2449. have to give up W>ho's on the other node command by disabling it.   Then  we
  2450. could revise the main menu to read
  2451.  
  2452.                       R B B S   M A I N   M E N U
  2453.                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2454. -- MESSAGES --   -- SYSTEM --    - FILES -   - UTILITIES -  - ELSEWHERE -
  2455.  E)nter Msg      A)nswer survey  D)ownload   H)elp (or ?)      Q)uit
  2456.  K)ill Msg       B)ulletins      L)ist       X)pert on/off  F)iles (Q;F)
  2457.  P)ersonal Mail  C)omment        N)ew                       G)oodbye (Q;S)
  2458.  R)ead Msgs      @)DOORS         U)pload                    W)rite user-pref
  2459.  S)can Msg hdr   I)nitial Wel    Z)ippy srch                  (Q;U)
  2460.  T)opic msg scan O)perator Page
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.                        Page 38 of 135
  2471.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2472.  
  2473. This menu could be re-written without any apparent sub-sections as
  2474.  
  2475.                       R B B S   M A I N   M E N U
  2476.                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2477.  A]nswer survey  G]oodbye          N]ew files       T]opic msg scan
  2478.  B]ulletins      H]elp (or ?)      O]perator page   U]pload
  2479.  C]omments       I]nitial welcome  P]ersonal mail   W]rite user preferences
  2480.  @]DOORS         J]oin conference  Q]uit            X]pert on/off
  2481.  D]ownload       K]ill message     R]ead messages   Z]ippy search
  2482.  E]nter msg      L]ist files       S]can messages
  2483.  
  2484. In  order  not to confuse the caller by being in a section and seeing  only
  2485. some of the commands we want him to use,  the SYSOP could elect not to show
  2486. the  section  in  the  prompt (CONFIG parameter 37) and  not  to  show  the
  2487. commands (CONFIG parameter 38). Callers would see simply "Your command?" as
  2488. the prompt.  This makes the expert mode pretty terse, but that simply means
  2489. users would spend more time in novice mode before using expert.
  2490.  
  2491. Now  suppose  that  only  a single command line was desired  and  that  the
  2492. commands from the "Utilities" menu commands were to be added to the  above.
  2493.  
  2494. The  "global" H,  ?,  Q,  and X commands already are in the single  command
  2495. line.
  2496.  
  2497. M  for  message  margin  can remain unchanged since it  is  unique  to  the
  2498. Utilities subsystem.
  2499.  
  2500. In  order to accommodate the redundancy of letters that exist by  including
  2501. the  Utilities  subsystem's commands,  the W command for the  main  message
  2502. subsystem  can be re-enabled and the remote SYSOP's commands be  eliminated
  2503. in order to re-use the numbers.   The Utilities subsystem commands B, C, F,
  2504. G,  L,  R,  and  S could then be replaced by the numbers 1 through 9.   The
  2505. Utilities  subsystem commands T and U could be replaced by the  commands  <
  2506. and >, respectively.
  2507.  
  2508. This  final  menu of all RBBS-PC commands could be re-written  without  any
  2509. apparent  sub-sections as follows and the screen that the would  appear  to
  2510. the "novice" users as:
  2511.  
  2512.                       R B B S  C O M M A N D S
  2513.                       ~~~~~~~~~~~~~~~~~~~~~~~~
  2514.  A]nswer survey     M]essage margin set    1] Change Baud Rate 300-->450
  2515.  B]ulletins         T]opic msg scan        2] Display time of day
  2516.  C]omments          O]perator page         3] Set file transfer protocol
  2517.  @]DOORS            P]ersonal mail         4] Set type of graphics mode
  2518.  D]ownload          Q]uit                  5] Set page length
  2519.  E]nter msg         R]ead messages         8] Review callers preferences
  2520.  G]oodbye           S]can messages         9] Display system statistics
  2521.  H]elp (or ?)       U]pload a file         <] Toggle users options on/off
  2522.  I]nitial welcome   W]rite user preference >] Show the log of callers
  2523.  J]oin conference   X]pert on/off
  2524.  K]ill message      Z]ippy search
  2525.  L]ist files
  2526.  
  2527. Your command?
  2528.  
  2529. 10.0  PLANNING ON HOW TO UNIQUELY IDENTIFY YOUR CALLERS
  2530. -------------------------------------------------------
  2531. All callers need a way to identify themselves and to re-identify themselves
  2532. on subsequent calls so that they can,  for example, read the mail addressed
  2533. to  them.   RBBS-PC  expects  each caller to set a password so  that  other
  2534.  
  2535.                        Page 39 of 135
  2536.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2537.  
  2538. callers cannot easily pretend to be that caller.   Callers are most  easily
  2539. known  on bulletin boards the same way they are known in real life  - which
  2540. is  usually by first and last name.   This is why the default configuration
  2541. in RBBS-PC uses first and last name to IDENTIFY users.  The first/last name
  2542. is the caller's identity or ID.
  2543.  
  2544. RBBS-PC  also  allows the SYSOP to identify callers uniquely  by  something
  2545. other  than their first and last names.   Perhaps the SYSOP wants one  word
  2546. alias  like  AVENGER  are  to be allowed or  perhaps  callers  must  use  a
  2547. preassigned  access  code (access code,  employee number,  account  number,
  2548. etc.).   RBBS-PC  allows  ANY  FIELD inside the users file to be  used  for
  2549. identification.   Since there are empty,  unused areas in the user file,  a
  2550. SYSOP can even CREATE A NEW FIELD to be used for caller identification.
  2551.  
  2552. When  anything  other than name is used to identify  users,  RBBS-PC  still
  2553. wants  callers  to  specify  their  names.   It  just  does  not  use  that
  2554. information to identify them.
  2555.  
  2556. A fairly common problem on bulletin board systems with large user lists  is
  2557. that two callers can have the same first and last name.  A caller discovers
  2558. this when they are unexpectedly asked for a password on the first call to a
  2559. new  system,  indicating  that another caller has already used  that  name.
  2560. Further,  since  RBBS-PC  is  used  world-wide  many  non-english  speaking
  2561. countries (i.e.  in Europe,  South America, the Far East) have callers with
  2562. names  that have embedded blanks,  etc.   RBBS-PC alleviates  this  problem
  2563. by  allowing interior blanks in first and last names.   Thus JIM JONES  can
  2564. register as JIM K JONES or JIM JONES SR or JIM JONES III.
  2565.  
  2566. By  allowing  ANY  field  inside the user record to  be  used  to  uniquely
  2567. identify individual callers, RBBS-PC alleviates the basic problem of having
  2568. two callers with the same name.
  2569.  
  2570. This additional INDIVIDUATION field is used to distinguish callers with the
  2571. same ID.   The way this works is that callers will have to specify both the
  2572. identifying  and  individuation field and both are used to match record  in
  2573. the  users  file.   This individuation field can likewise be  a  new  field
  2574. created by the SYSOP.   For example,  the SYSOP can specify that callers be
  2575. uniquely identified by both their name and their CITY/STATE.  Alternatively
  2576. the  SYSOP can specify that callers are to be uniquely identified by  their
  2577. telephone number, which would be a new field for RBBS-PC to store.
  2578.  
  2579. 10.1  How to Set Up Identifying and Individuation Fields
  2580. --------------------------------------------------------
  2581. The  identifying  and  individuation fields in RBBS-PC  are  controlled  by
  2582. parameters  in CONFIG.   The default is to use the caller's first and  last
  2583. name (combined to be simply name) to uniquely identify a user.
  2584.  
  2585. The fields available to uniquely identify a caller are designated in CONFIG
  2586. by  the  starting position in the users file and length.   It is  essential
  2587. therefore to understand WHERE FIELDS ARE STORED IN THE USER FILE.   Consult
  2588. Appendix A for the detailed layout of the user file.
  2589.  
  2590. RBBS-PC's  flexibility requires caution to be exercised when selecting  the
  2591. locations  of fields used to identify and individuate,  because options can
  2592. be selected that make no sense.  For example, it is possible to specify the
  2593. user  preference  field,  which  means  that  every  time  a  user  changed
  2594. preferences,  such as default protocol,  the user would become a  different
  2595. user.
  2596.  
  2597. There  are only two fields in the user file that make sense for identifying
  2598. users:
  2599.  
  2600.                        Page 40 of 135
  2601.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2602.  
  2603.     1.)  first/last name (column positions 1-31),  or
  2604.     2.)  a field designated by you as the SYSOP for your RBBS-PC.
  2605.  
  2606.          For a SYSOP-designated field,  only 4 choices make sense:
  2607.            none,
  2608.            name (columns  1-31),
  2609.            city/state (columns 63-86),  or
  2610.            positions 87-105 in the user record currently "unused."
  2611.  
  2612. Positions 87-105 of the users file currently unused provides a potential 19
  2613. columns to use for special,  SYSOP designated fields.  However, there is no
  2614. guarantee that these positions will not be used in later releases of  RBBS-
  2615. PC.   Additional  fields  will  be  used from the  far  right.   Any  SYSOP
  2616. intending  to utilize this area of the users record is safest if the  field
  2617. selected begins in column 87 and is as short as possible.   The shorter  it
  2618. is,  the more likely there will be room in later releases.  For example, 11
  2619. columns  might  be used for telephone number (format  123-1234567).   Or  5
  2620. columns might be used for account number.
  2621.  
  2622. When  a special field is created,  the SYSOP must also supply the prompt to
  2623. be used with the field, since RBBS-PC has no way of knowing how to describe
  2624. the field to a caller.   The prompt is what is displayed to the caller when
  2625. asking for the value of the field.
  2626.  
  2627. RBBS-PC uses the callers first and last name for the "to" and "from" fields
  2628. for  messages  even when the users name is not the field used  to  uniquely
  2629. identify callers.
  2630.  
  2631. 10.2  PRELOADING IDENTITIES FOR INSTANT ACCESS
  2632. ----------------------------------------------
  2633. SYSOPs  the  operate bulletin boards that are open to new callers  have  no
  2634. problems giving a new caller instant access --  new callers  register,  set
  2635. their identity and password, and are immediately on.
  2636.  
  2637. SYSOPs   that  operate   bulletin  boards  that  are  only   available   by
  2638. subscription  or  who  delay  access operate differently  --  a  user  must
  2639. already know and be able to state identity,  individuation, and password in
  2640. order  to get on.   To add a new user,  the values of these fields must  be
  2641. communicated  back  to  the caller in order for them to  have  access.   To
  2642. overcome  this cumbersome approach,  some SYSOPs allow new callers on their
  2643. system (albeit at a security level so low that the caller can do little, if
  2644. anything) and simply raise the security level of the caller once the caller
  2645. has met whatever criteria the SYSOP has set for access to the system.
  2646.  
  2647. Typically  new callers must call back and continue to check to see if their
  2648. security  level has been raised.   Systems that do not let new  callers  on
  2649. require  the SYSOP to enter the appropriate information for each new  user,
  2650. contact  the new caller by mail or phone,  and let them know how to get on.
  2651. Both  approaches  introduce  delays  to new  callers  for  getting  on  and
  2652. additional time, expense and overhead for the SYSOP.
  2653.  
  2654. RBBS-PC provides a systematic solution to the problem of delayed access for
  2655. new user!  A SYSOP can add a user WITH NO VALUE FOR THE INDIVIDUATION FIELD
  2656. OR PASSWORD.  These fields can be left blank.  When a caller logs on with a
  2657. proper  ID  and  RBBS-PC finds an individuation value or password  that  is
  2658. blank, it lets the caller set the value of those fields without requiring a
  2659. match.   Subsequent calls,  but not the first, must match the value set for
  2660. individuation and password.
  2661.  
  2662. Even though a SYSOP can add a user and leave the password and individuation
  2663. blank,  this still requires that the SYSOP add the user only after an ID is
  2664.  
  2665.                        Page 41 of 135
  2666.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2667.  
  2668. agreed  to by both parties.   What if this access is still not fast enough?
  2669. The  solution  provided by RBBS-PC is for the SYSOP to "pre-load"  IDs  and
  2670. give  out  a pre-loaded ID to the caller for instant access,  so  that  the
  2671. client does not have to wait even for the SYSOP to add the ID.  Since there
  2672. is  no way to set in advance how a user wants to be identified,  the  SYSOP
  2673. can set up essentially random account IDs which are difficult to guess  and
  2674. give these out.
  2675.  
  2676. Callers  willing to charge subscription fees on their credit cards over the
  2677. telephone  can  be given a valid pre-loaded ID  for  instant  access.   The
  2678. ability  of RBBS-PC to use any field for an ID,  and let the first call set
  2679. individuation  and password,  means that RBBS-PC can support  boards  where
  2680. instant access is a critical part of their service.
  2681.  
  2682. 11.0  RBBS-PC's OPTIONAL AUTOMATIC SUBSCRIPTION MANAGEMENT SYSTEM
  2683. -----------------------------------------------------------------
  2684. RBBS-PC  has support built into it for managing access based on the date of
  2685. the call.  The primary uses of this facility are
  2686.  
  2687. o   to make it very easy to control access based on subscription dates.
  2688.  
  2689. o   to give callers a temporary, date limited boost in privileges.
  2690.  
  2691. The subscription management system dramatically reduces the work  necessary
  2692. for  subscription maintenance.   After a user is registered,  RBBS-PC  will
  2693. AUTOMATICALLY
  2694.  
  2695. o   warn users before their subscription expires
  2696. o   reduce the security of callers whose subscription has expired.
  2697.  
  2698. In  effect,  a subscription RBBS-PC can be left on "automatic" pilot and it
  2699. will operate correctly, without additional effort on the SYSOP's part.
  2700.  
  2701. The  subscription  management system can also be used to  grant  callers  a
  2702. temporary boost in privileges.  For example,
  2703.  
  2704. o   Give new callers a "free" trial period.
  2705.  
  2706. Just  like cable TV channels that sometimes have a free week of viewing  to
  2707. attract new subscribers by letting them know what they are missing, a SYSOP
  2708. of  a subscription RBBS-PC can set up limited free offers.  By setting up a
  2709. default subscription period of say, 5 days, all new callers can be let onto
  2710. to see whether they want to subscribe.   After 5 days,  security drops back
  2711. down  to a more limited level.   This "free" period can be made a  standing
  2712. offer,  or turned off after a two week period.   Or,  a user who requests a
  2713. trial period can be individually added with a short subscription period.
  2714.  
  2715. Limited  trial subscriptions also are an attractive alternative  for  those
  2716. SYSOPs that do not give full privileges until after a caller is verified or
  2717. checked  out.   These  callers are either asked to fill out a  registration
  2718. form or leave a comment,  then sometime later the SYSOP decides whether  to
  2719. increase   the  security  level.    By  letting  new  users  have  a  short
  2720. registration period with higher privileges,  say 3 days, a SYSOP may choose
  2721. to give new callers immediate access and minimize the pressure to check the
  2722. new caller out as soon as possible.   The SYSOP need do nothing if a caller
  2723. cannot be verified.   Those that check out get their security raised.  This
  2724. way the many honest new users are not penalized but the prank or  dishonest
  2725. callers can get on only briefly.
  2726.  
  2727.  
  2728.  
  2729.  
  2730.                        Page 42 of 135
  2731.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2732.  
  2733. 11.1 Setting It Up
  2734. ------------------
  2735. The subscription management system is turned on by specifying in CONFIG  to
  2736. limit  callers by subscription date.   After access is so limited,  RBBS-PC
  2737. automatically records the date of the first call.  For old users, this will
  2738. be  the first call made since the subscription date began to limit  access.
  2739. This recorded date is the base registration date.   The SYSOP then needs to
  2740. specify in CONFIG:
  2741.  
  2742. o   A default subscription period (the number of days a new user gets).
  2743.  
  2744. o   A warning period (which  determines  when  callers  will get an
  2745.     advance  warning  that  their subscription is about to expire.   The
  2746.     warning period is the number of days left needed to trigger a warning.)
  2747.  
  2748. o   The security level expired subscribers get.
  2749.  
  2750. In the PASSWRDS file, the SYSOP designates:
  2751.  
  2752. o   Different subscription periods for each security level (other than the
  2753.     default security level).   This needs to be specified only if a
  2754.     subscription period is desired that will override the default.
  2755.  
  2756. RBBS-PC  determines  when  the  subscription  will  expire  by  adding  the
  2757. subscription period to the base registration date.   Persons calling  after
  2758. this  expiration date are bumped down to the expired security level set  by
  2759. the SYSOP in CONFIG.
  2760.  
  2761. The  subscription periods associated with different security levels is  the
  2762. fourth parameter on a line in the PASSWRDS file (see section 17.3 for  more
  2763. information).   For example, to associate a subscription period of 365 days
  2764. with  a  security level of 7 having a daily time limit of 60  minutes,  the
  2765. entry in PASSWRDS would be
  2766.  
  2767.                        ,7,50,365
  2768.  
  2769. 11.2 An Example of a Subscription Management System
  2770. ---------------------------------------------------
  2771. A subscription RBBS-PC offers the following levels of service:
  2772.  
  2773.       $3 for 1 year, 60 minutes per day
  2774.       $5 for 2 years, 60 minutes per day
  2775.       new users, 3 days with 20 minutes
  2776.       expired users 5 minutes
  2777.  
  2778. This could be instituted by limiting callers by subscription date, limiting
  2779. the  daily time to the session time,  setting the default security level to
  2780. 5,  the default session limit to 20,  the default subscription period to 3,
  2781. and  expired security to 4.   The following lines should then be  added  to
  2782. PASSWRDS.
  2783.  
  2784.                           ,6,60,365
  2785.                           ,7,60,700
  2786.                           ,4,5,
  2787.  
  2788. New callers get the defaults:   security 5,  20 minutes session time, and 3
  2789. days  on  subscription.   After 3 days,  the unpaid caller  drops  down  to
  2790. security  4,  which  is limited to 5 minutes per day.   The SYSOP sets  the
  2791. security of 1 year subscribers to 6 and 2 year subscribers to 7.  After the
  2792. SYSOP  configures the system and sets the security level  for  subscribers,
  2793. RBBS-PC  does all the work of properly managing the callers with no further
  2794.  
  2795.                        Page 43 of 135
  2796.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2797.  
  2798. effort on the part of the SYSOP.
  2799.  
  2800. 12.0 USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC
  2801. ----------------------------------------------------
  2802. The  RBBS-PC.DEF  file is created  by the CONFIG program and  contains  the
  2803. program's   default  operating  parameters  and values.   When you run  the
  2804. CONFIG  program   to  create RBBS-PC.DEF or to update it,   you can  change
  2805. many  of  these  parameters  to meet your needs.   Certain parameters which
  2806. control   critical   operations  of the programs are embedded in  the  RBBS
  2807. program and should not  normally be changed by the system  operator.   When
  2808. setting RBBS-PC is set up for the first time, SYSOP's are urged to take the
  2809. default  values  generated by CONFIG except for those parameters  that  are
  2810. unique to their configuration (i.e. the communication port, etc.).
  2811.  
  2812. CONFIG.BAS, unlike Gaul, is divided into many parts or screens.  They are:
  2813.  
  2814.      Screen         Description
  2815.  
  2816.         1           Global RBBS-PC Parameters (Part 1 of 3)
  2817.         2           Global RBBS-PC Parameters (Part 2 of 3)
  2818.         3           Global RBBS-PC Parameters (Part 3 of 3)
  2819.         4           Parameters for RBBS-PC "static" files
  2820.         5           Parameters for RBBS-PC "dynamic" files
  2821.         6           Parameters for RBBS-PC "doors"
  2822.         7           Parameters for RBBS-PC Security
  2823.         8           Parameters for Multiple RBBS-PC's and "conferences"
  2824.         9           RBBS-PC Utilities
  2825.        10           Parameters for RBBS-PC's File Management System
  2826.        11           RBBS-PC Communications Parameters
  2827.        12           Parameters for RBBS-PC NET-MAIL
  2828.        13           New users parameters
  2829.       14-18         Reserved for future use
  2830.  
  2831. The  user may scroll forward or backward through the screens of  parameters
  2832. in CONFIG.BAS using the PgUp and PgDn keys on the  keyboard.   Additionally
  2833. users  may go directly to a specific screen by pressing a function key  (F1
  2834. through  F10)  or  SHIFT  and a function key (shift/F1  through  Shift  F8)
  2835. corresponding to the page to be selected.   To terminate CONFIG, users need
  2836. only press the "End" key on the keyboard.
  2837.  
  2838. The compiled version of CONFIG.BAS can be invoked with the command:
  2839.  
  2840.          CONFIG.EXE  <config file>
  2841.  
  2842. The  <config  file>  is an optional name of the configuration  file  to  be
  2843. created or edited.   This assumes that the compiled version of  CONFIG.BAS,
  2844. CONFIG.EXE is on the default disk drive.  CONFIG.BAS will write the RBBS-PC
  2845. definition  file,  RBBSxPC.DEF to the default drive if no drive  designator
  2846. has been sepcified in the <config file> parameter used to invoke CONFIG.
  2847.  
  2848. 12.1 Global RBBS-PC Parameters (Part 1 of 3)
  2849. --------------------------------------------
  2850. Parameters   1-5   request the RBBS system operator's (SYSOP)  name,   dual
  2851. passwords  if logging on remotely,  and an optional password if logging  on
  2852. locally (i.e. via the Esc key on the PC running RBBS-PC).
  2853.  
  2854. When   logging  onto  the system remotely,   the SYSOP can log   on   using
  2855. Password  #1 as a first name and Password #2 for as last  name,  in   which
  2856. case  the system will recognize them as the SYSOP and allow all  the  SYSOP
  2857. functions to be performed,  even as a remote user.   The SYSOP name is used
  2858. to   insure that users are not attempting to access RBBS-PC using the SYSOP
  2859.  
  2860.                        Page 44 of 135
  2861.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2862.  
  2863. name  hoping to get a higher access level.    Attempting to logon using the
  2864. SYSOP   name  will  result  in "LOGON DENIED" and a posting of the  attempt
  2865. in  the  CALLERS file.   If you want to eliminate anyone from logging on as
  2866. the SYSOP, you  can simply reply with a "null" (i.e.  a carriage return) to
  2867. Password #1 and  Password #2.
  2868.  
  2869. The ESC key is used to log on in local SYSOP mode.   Parameter 5  allows  a
  2870. password  to be required if someone hits  Esc  on  the  keyboard of the  PC
  2871. running  RBBS-PC before they are considered a local SYSOP.   If you   enter
  2872. NONE, no password is required.
  2873.  
  2874. The  SYSOP's  default sign-on mode is set by parameter  6 as either  EXPERT
  2875. or  NOVICE.   Unless you are very familiar with the RBBS-PC CPC15's command
  2876. structure,  the  SYSOP's  sign-on mode should be NOVICE.
  2877.  
  2878. The SYSOP can be paged by callers.  Parameter 7 allows the SYSOP to set the
  2879. "office   hours"  when a user can page the SYSOP.   The IBM  PC's  bell  is
  2880. rather  insistent,  and these hours should be set to match when you will be
  2881. within   ear-shot  of  the RBBS-PC.    The times are set  using  a  24-hour
  2882. military clock  (i.e.  10:00 P.M.  is 2200 hours).   The SYSOP can override
  2883. these  hours by activating the page bell via function key 4 on the keyboard
  2884. of the PC running RBBS-PC.
  2885.  
  2886. Because  the  bell  on an attached printer is usually louder than  the  one
  2887. built  into  the PC,  the SYSOP can elect to have the  printer's  bell  via
  2888. parameter 8 whenever the SYSOP is "paged".
  2889.  
  2890. Parameter  9 allows a SYSOP to not accept calls if the caller is trying  to
  2891. access  his system at 300 BAUD.   Some SYSOP's believe that 300 BAUD  users
  2892. have  a  "pre-puberty" mentality and cause more  problems  (i.e.  infantile
  2893. messages) for the SYSOP than their contributions justify.  While RBBS-PC is
  2894. intended  to be as open a system as possible,  each SYSOP has the option of
  2895. electing to lock out 300 BAUD access.  Another reason for denying access to
  2896. 300  BAUD  users  is  when  RBBS-PC  is  running  in  a  multi-tasking  DOS
  2897. environment  that  does not handle 300 BAUD  very  efficiently  (i.e.  like
  2898. MultiLink).   Whatever  reasons a SYSOP has for denying access to 300  BAUD
  2899. users, this option enables the SYSOP to select to do so using CONFIG rather
  2900. than having to modify the RBBS-PC source code.   However,  even if 300 baud
  2901. access  is denied,  RBBS-PC can be configured to allow registered users  to
  2902. logon at 300 baud even if new users can't.
  2903.  
  2904. Parameter  10 allows each SYSOP to see the color  text files  (i.e.  menus,
  2905. help  files,  etc.)  exactly as the remote user sees them.   Obviously  the
  2906. system running RBBS-PC should have a color monitor.   More importantly each
  2907. SYSOP  that elects to activate this option should satisfy  themselves  that
  2908. the program ANSI.ASM written and copyrighted by David Terry and modified by
  2909. Dave Staehlin will not harm your particular brand of color monitor or color
  2910. graphics board.
  2911.  
  2912. In  order to effectively use this option you must have the ANSI.SYS  driver
  2913. loaded  on  your  machine.   This  can be  accomplished  by  including  the
  2914. statement
  2915.                               DEVICE=ANSI.SYS
  2916.  
  2917. within  your  system's  CONFIG.SYS file.   This load's  the  standard  IBM-
  2918. supplied ANSI.SYS file into your system.  If you use an ANSI.SYS other than
  2919. the one supplied by IBM, you may not see what your remote user sees.
  2920.  
  2921. CAUTION! - Dave Staehlin indicates the changes he made to the .ASM and .OBJ
  2922.            and .OBJ files reference some color page BIOS - hence,  this may
  2923.            not  work  with  a  monochrome  video  card  or  within  certain
  2924.  
  2925.                        Page 45 of 135
  2926.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2927.  
  2928.            configurations!   Similarly, it may not work with anything other
  2929.            than  the  standard  IBM Color Graphics card and  an  IBM  Color
  2930.            Monitor.   Many  "plug-compatible" color cards  (like  Hercules)
  2931.            have  been  known to burn out a monitor.   Any SYSOP who  elects
  2932.            this  option  takes  on  the SOLE  responsibility  and  risk  of
  2933.            determining  if the combination of the many components  involved
  2934.            in the particular system RBBS-PC is to be run in (the  ANSI.SYS,
  2935.            ANSI.OBJ/.ASM  code,  the  color  card  being  used,  the  color
  2936.            monitor,  the  BIOS,  and the memory configuration) would  cause
  2937.            damage  to  these  or  any of the other  components  within  the
  2938.            system.   To  be safe,  don't activate this option.   If you  do
  2939.            activate this option and your system is damaged,  you should not
  2940.            expect  to  be  reimbursed for  such  damage.   This  option  is
  2941.            provided only as a convenience to those SYSOP's who have assumed
  2942.            the  sole responsibilities for any results that occur activating
  2943.            this  option.   Remember,  this option need not be activated  in
  2944.            order to run RBBS-PC normally!
  2945.  
  2946. Parameter  11  gives  the  SYSOP the option of  electing  to  have  RBBS-PC
  2947. automatically take itself off-line if a "disk full" condition  occurs.   In
  2948. previous versions,  this was not an option.  Now, if the SYSOP has a floppy
  2949. disk for uploads that gets full and everything else is on a hard disk,  the
  2950. SYSOP  can keep RBBS-PC from taking itself off-line should the floppy  disk
  2951. get full.
  2952.  
  2953. Parameter  #  12 is the SYSOP'S preference for prompt sounds when input  is
  2954. required.   When this is on,  both the remote user and the local SYSOP will
  2955. hear the prompt bell when input is required from the remote user.
  2956.  
  2957. Parameter  # 13 of the CONFIG program asks for the maximum amount  of  time
  2958. each  user is to be allowed on the system per session.   Set the number  of
  2959. minutes  to  whatever you are comfortable with,  but 72 minutes is  a  good
  2960. setting  for starting up.   Subsequently you may have to lower this  number
  2961. once  your number of callers increases,  in order to keep callers'  waiting
  2962. times reasonable.  This can also be made the maximum time on the system per
  2963. day.   As described elsewhere, each security level can have its own maximum
  2964. time  on  the  system per session specified.
  2965.  
  2966. A  SYSOP  may limit the maximum amount of time any single user can spend on
  2967. your  system  each day via parameter 14 of CONFIG. This is helpful  if  you
  2968. have  a  relatively  busy  RBBS and want to have as  diversified  group  of
  2969. callers as possible.   What this parameter does is to tell RBBS-PC to  keep
  2970. track of the total amount of elapsed time a user is on RBBS each day.  Each
  2971. time a caller logs on,  the maximum amount of time that they are allowed on
  2972. the  system   is checked against this daily  cumulative  total.   The  time
  2973. remaining  in  each  caller's session is the difference.    When  a  caller
  2974. exceeds  this maximum and tries  to log on again,  they are told that  they
  2975. have exceeded the allocated time for that  day and to try again tomorrow.
  2976.  
  2977. Parameter # 15 sets the number of months inactivity that must elapse before
  2978. a   user is deleted from the USERS file when the SYSOP "rebuilds" the  user
  2979. file.
  2980.  
  2981. Parameter  # 16 allows the SYSOP to specify the name of the RBBS-PC that is
  2982. to  be  displayed when a user first connects with the system and  prior  to
  2983. completing the logon process.
  2984.  
  2985. Parameters   17  through 19 allow the SYSOP to specify the  colors  desired
  2986. for the foreground,  background, and border.  When specifying these options
  2987. the BASIC manual's section describing the COLOR command in text mode should
  2988. be   consulted.    This  is useful when running multiple RBBS-PC's and  you
  2989.  
  2990.                        Page 46 of 135
  2991.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  2992.  
  2993. want  a handy way of determine which RBBS-PC it is that you are viewing  on
  2994. the screen.    This  option  is NOT available if the SYSOP has specified  a
  2995. "ring-back" system.
  2996.  
  2997. Parameter 20 is not implemented in CPC15-1A.
  2998.  
  2999. 12.2 Global RBBS-PC Parameters (Part 2 of 3)
  3000. --------------------------------------------
  3001. Parameter  21  allows the SYSOP to remind users not only of  the   messages
  3002. that  might  be for them but also messages that they may have left.    This
  3003. should  be enough of a nuisance to insure that users do delete some of  the
  3004. messages they have left and help to keep the MESSAGES file to a minimum.
  3005.  
  3006. Parameter  22 allows the SYSOP to elect to remind users of how  many  files
  3007. they have downloaded and uploaded.
  3008.  
  3009. Parameter  23 allows a SYSOP to remind users every time they log on of  the
  3010. preferences  they have selected for such things as file transfer  protocol,
  3011. graphics, nulls, etc.
  3012.  
  3013. Parameter  24 allows the SYSOP to establish a default page length for users
  3014. when  they log on.    A 23 line page length is the default,   but the SYSOP
  3015. can   set  it  to any number between 0 and 255.    If set to 0,   the  user
  3016. will  receive continuously scrolling output.
  3017.  
  3018. Parameter 25 allows the SYSOP to specify (within the range of 1 to 30)  the
  3019. maximum number of lines allowed in each message.
  3020.  
  3021. Parameter  26 allows the SYSOP to tell RBBS-PC that files ending in  binary
  3022. file  extensions (i.e.  .ARC,  .EXE,   .COM,   .OBJ,  .WKS,  .BAS, or whose
  3023. second  letter  of  the  extension is Q) can not be downloaded  unless  the
  3024. user  selects a BINARY protocol.   This should eliminate some user problems
  3025. before  they occur.    IBM's  BASIC  interpreter's  SAVE command default is
  3026. to   write   files  in  a  special  binary  format  (also  referred  to  as
  3027. 'tokenized') because they require much less disk space.
  3028.  
  3029. Parameter  27 allows a SYSOP to "reward" users who upload files  by  adding
  3030. some  multiple  of  the  elapsed time it took for the file  upload  to  the
  3031. current  session time.   This should be used judiciously as some users  may
  3032. abuse  this by repeatedly uploading COMMAND.COM or some  other  meaningless
  3033. file.  This extends only the users current session and NOT the elapsed time
  3034. the user may be limited to per day via parameter 15.
  3035.  
  3036. Parameter  28  lets the SYSOP force a questionnaire to be answered  by  all
  3037. callers,  old and new,  exactly once.   RBBS-PC records in the users record
  3038. when  the  required questionnaire is answered so that it will not  ask  the
  3039. caller again.   Parameter 166 lets the SYSOP reset the flag back to off for
  3040. all  users.   This  should be done when the SYSOP wants to  install  a  new
  3041. required questionnaire to be used to survey all callers. If a questionnaire
  3042. is not required, this parameter can be specified as NONE.
  3043.  
  3044. Parameter   29  allows  the  SYSOP  to  make  the  system  "welcome"   file
  3045. interruptable.   The default is that YES it is interruptable.   However, if
  3046. the SYSOP feels too many people are bypassing it and it contains  essential
  3047. information,  the SYSOP can set this parameter to NO (i.e. the user can not
  3048. suspend  or cancel the listing of this file at their terminal with a CTRL S
  3049. or  CTRL K).
  3050.  
  3051. Parameter   30  is  intended to allow the SYSOP to indicate if  the  system
  3052. bulletins are to be optional for users when they log on.   If bulletins are
  3053. optional,  callers  can elect to automatically bypass old bulletins and  be
  3054.  
  3055.                        Page 47 of 135
  3056.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3057.  
  3058. notified  only when there are new bulletins.   RBBS-PC will check the  file
  3059. date of the bulletins and inform the caller which are new,  with the option
  3060. to  read  all of the new bulletins.   If none are new  when  bulletins  are
  3061. optional, the bulletins will be automatically bypassed.
  3062.  
  3063. Parameter  31 is designed to allow RBBS-PC to run on some  "IBM-compatible"
  3064. PC's  that  make  use of  unused interrupts or on the  IBM  PCjr.   RBBS-PC
  3065. checks to see if the unused interrupt X'7F' is non-zero.  If it is, RBBS-PC
  3066. thinks that the software product,  MultiLink (from The Software Link, Inc.)
  3067. is present and issues the appropriate MultiLink calls.   Obviously if  this
  3068. is  not the case,  strange and unpredictable things happen which result  in
  3069. RBBS-PC not working.  The COMPAQ+ is an example of this syndrome.
  3070.  
  3071. If  running RBBS-PC on an IBM PCjr using an external modem but  without  an
  3072. internal modem,  the communications port must be opened as COM1 even though
  3073. RBBS-PC   must   use  the  COM2  RS-232  registers  for   controlling   the
  3074. communications port.
  3075.  
  3076. Parameters  32-36 let the SYSOP change what symbols are used for each RBBS-
  3077. PC  function  by  substituting  a  new  letter.     Additionally,  a  space
  3078. substituted for a command will disable that command,  in effect removing it
  3079. from the system.   A natural command to be disable is the V)iew  conference
  3080. command,  since  it is not implemented.   SYSOPs with no DOORS may wish  to
  3081. disable D rather than to confuse users by displaying options not available.
  3082. All  commands displayed to callers in the command prompt will be in  sorted
  3083. order.
  3084.  
  3085. Parameter 37 allows the section name to precede the command prompt that  is
  3086. displayed  when a caller is asked to enter a command.   The command  prompt
  3087. begins with <section>, where <section> is MAIN, FILE, or UTIL, if option 37
  3088. is  selected.   Otherwise,  the prompt will begin with YOUR.   Normally the
  3089. section  in  the  prompt helps the caller remember where  he  is,  but  see
  3090. Section 8 for reasons to suppress the section.
  3091.  
  3092. Parameter  38  allows the SYSOP to not display the commands to  the  caller
  3093. when waiting for the user to enter a command.  The default in RBBS-PC is to
  3094. remind  the  caller what commands are available by giving a sorted list  of
  3095. the letters used for each command at the end of the command prompt.   RBBS-
  3096. PC shows only the commands available in the section that the caller is  in.
  3097. If  the  SYSOP chooses not to display the section a user is in,  there  are
  3098. more commands available than will be shown in the prompt.
  3099.  
  3100. Parameter  39 allows the SYSOP to elect to use machine language subroutines
  3101. (rather  than  the  BASIC routines) for a few of  the  more  commonly  used
  3102. subroutines.  These may only be functional within a DOS that is supplied by
  3103. IBM (rather than Microsoft).  Therefore this is optional.  If you encounter
  3104. problems,  simply  elect to utilize the BASIC routines which are much  more
  3105. likely  to be compatible in non  "baseline" configurations.   In most cases
  3106. the  assembler  routines  are much faster than  their  BASIC  counterparts,
  3107. especially in file searches.
  3108.  
  3109. RBBS supports a "wrap-around" search for valid commands.   This means  that
  3110. when a command is not found in the current section, other sections are then
  3111. searched.   The order of search is MAIN->FILE->UTIL.   For example, if L is
  3112. picked  when  in the main section,  where there is no  command,  the  L)ist
  3113. command  in  the file section will be executed.   Option 40 lets the  SYSOP
  3114. turn  this  wrap-around search and not execute commands in other  sections.
  3115. Wrap-around  is required if the SYSOP want's to have a single command  line
  3116. (i.e. not have the "Utility" and "File" subsystems).
  3117.  
  3118.  
  3119.  
  3120.                        Page 48 of 135
  3121.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3122.  
  3123. 12.3 Global RBBS-PC Parameters (Part 3 of 3)
  3124. --------------------------------------------
  3125. Parameters  41  and  42  determine how callers are  going  to  be  uniquely
  3126. identified  when  they log on.   The default in RBBS-PC is  to  concatenate
  3127. first and last name to form name.   Parameter 41 lets SYSOPs choose another
  3128. field as user ID.  A field is specified by giving its starting position and
  3129. length in the user file,  and a prompt must be supplied which will be  used
  3130. when asking for user ID.   BE VERY CAREFUL CHANGING THIS PARAMETER.   These
  3131. parameters allow the SYSOP to specify a label to be used when prompting the
  3132. user for the field (i.e. ACCOUNT #).  See section 8 for additional details.
  3133. RBBS-PC assumes that name is being used whenever the ID begins in column 1.
  3134.  
  3135. Parameter  42  lets a field be specified that will be used  to  distinguish
  3136. callers with the same ID.   Like with ID, the beginning column, length, and
  3137. prompt must be specified.   RBBS-PC defaults to no individuation,  which is
  3138. specified  by  setting the beginning column to 0.   Activating this  option
  3139. forces uses to give additional information when they log on,  since both ID
  3140. and individuation value have to be given.  See section 9 for details on how
  3141. to use this option.
  3142.  
  3143. Parameters  43 through 46 address access control via the automatic  RBBS-PC
  3144. subscription management facilities.  For a detailed discussion of RBBS-PC's
  3145. automatic subscription management facilities,  see section 10. Parameter 43
  3146. means  that  access will be controlled by subscription dates,  and  persons
  3147. with  expired subscriptions will get reduced privileges.   Parameter 44  is
  3148. the security level callers get after their subscription expires.  Typically
  3149. this  security  significantly  reduces  what a caller  is  allowed  to  do.
  3150. Parameter 45 specifies when callers are to be warned in advance that  their
  3151. subscription  is about to expire.   This warning is based on the number  of
  3152. days  before a subscription expires.   Parameter 46 specifies the number of
  3153. days a new user gets in the subscription period.
  3154.  
  3155. Parameter  47  determines  whether  RBBS-PC will ever try  to  write  to  a
  3156. printer.   The  default  is  to try to write to a printer,  then  turn  the
  3157. printing off it there is any problem.  On some networks the attempted write
  3158. can generate a spooler error that hangs the node.   Setting this  parameter
  3159. to "YES" guarantees that nothing ever gets written to a printer.
  3160.  
  3161. Parameter  48  causes RBBS-PC to play musical themes for auditory feedback  on
  3162. what  is happening on a board.   This can be important for SYSOPs that  are
  3163. sight impaired.  Do not select this parameter if you are using MultiLink.
  3164.  
  3165. Parameter 49 is the buffer used internally by RBBS-PC when displaying  text
  3166. files such as menus,  directories of files, etc.  A SYSOP can set parameter
  3167. 218  to either minimize memory usage or optimize speed.   It is the size of
  3168. the  internal buffer that RBBS uses to read in most text  files,  including
  3169. menus.  The bigger the buffer, the fewer disk accesses necessary to display
  3170. the  file and the faster the display will be.   The default of 128  is  the
  3171. minimum  recommended.   Increasing  this to 512 will increase the speed  of
  3172. text displays.
  3173.  
  3174. Parameters 50 through 52 are not implemented in CPC15-1A.
  3175.  
  3176. 12.4 Parameters for RBBS-PC "text" Files
  3177. ----------------------------------------
  3178. Parameter  61  specifies the name of text file that is shown to a  user  if
  3179. bulletins  are not optional (see parameter 30) or if the user  replies  "L"
  3180. when notified of how many bulletins exist.  This file should contain a list
  3181. of  the  bulletins  (i.e.  1-99) and a brief one-line  description  of  the
  3182. contents of each (e.g. "New Release of RBBS-PC").
  3183.  
  3184.  
  3185.                        Page 49 of 135
  3186.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3187.  
  3188. Parameter 62 allows a SYSOP to have from 0 to 99 "bulletins."  If there are
  3189. 0  bulletins  a user is notified that there are  no  bulletins.   Bulletins
  3190. should be brief,  informative,  and timely.   I personally think that there
  3191. should be very few bulletins and that they should be changed often if users
  3192. are  to be enticed to look at them.   Making bulletins optional  (parameter
  3193. 30)  and bringing them to the attention of the caller only when  there  are
  3194. new ones encourages callers to read the bulletins.
  3195.  
  3196. Parameter 63 provides the SYSOP with the flexibility to make the prefix  of
  3197. the bulletins anything he wants (i.e. BULLET).  To this is added the number
  3198. (i.e.  BULLET7  for  bulletin  number 7) and the disk drive  designated  in
  3199. parameter  41 is searched for the bulletin number requested when some  asks
  3200. to see a bulletin.  If the file is not found, the user is so informed. If a
  3201. "graphics"  equivalent  is  found  and the user has  signed  on  N/8/1  and
  3202. requested graphics, the graphics version of the bulletin is displayed (i.e.
  3203. BULLET7G).
  3204.  
  3205. Parameter  64  indicates  the disk drive and path on which  RBBS-PC  is  to
  3206. search for to find RBBS-PC's on-line "help" files whenever a user asks  for
  3207. help  within a specific subsystem.   This is where the help files should be
  3208. stored.
  3209.  
  3210. There  are some specific help files used by RBBS-PC whose name is simply  a
  3211. help  prefix  plus  a  number.   The SYSOP may elect  to  call  the  prefix
  3212. something other than the default of "HELP0".  Parameter 65 allows the SYSOP
  3213. to  pick  up  to  a seven-character prefix to which  the  numbers  will  be
  3214. appended.   This  file  name  is what RBBS-PC will look for  on  the  drive
  3215. specified  in  parameter 64 when a user asks for  help  on-line.   As  with
  3216. "bulletins", if a "graphics" equivalent is found and the user has signed on
  3217. N/8/1  and  requested graphics,  the graphics version of the help  file  is
  3218. displayed (i.e. HELP07G).
  3219.  
  3220. RBBS-PC  identifiers  help  for a particular command by the letter  of  the
  3221. section  and  the letter of the command,  plus an extension  for  the  help
  3222. files.  The extension "HLP" is the default but option 66 lets the SYSOP set
  3223. this to whatever desired.
  3224.  
  3225. Parameter  67 is the name of the file that is displayed to a caller  should
  3226. the  caller ask for help when requested to categorize a file that has  been
  3227. uploaded.   RBBS-PC'  File Management System can be configured to  minimize
  3228. the  SYSOP's activities by allowing users to categorize the files that  are
  3229. uploaded.   This  file  should  list the names of the  categories  that  an
  3230. uploader can select.  It should be stored on the same drive and path as the
  3231. other help files. The category selected will be validated to make sure that
  3232. it  is in the list in DIR.CAT or that a valid category file with that  name
  3233. exists.   The  appropriate category code will be written out to the  shared
  3234. FMS directory, or the entry for the upload will be appended to the category
  3235. file.
  3236.  
  3237. Parameter 68 allows the SYSOP to select any name for the text file that new
  3238. users  see when they first log on and before they "register" themselves  in
  3239. RBBS-PC's  USERS file.   A user sees it once and only once during his first
  3240. session.   It can contain anything you want it to,  but a brief explanation
  3241. of your Board's purpose,  "rules", etc. might be appropriate.
  3242.  
  3243. Parameter  69  allows the SYSOP to select any name for the text  file  that
  3244. each user sees EVERY time AFTER they log on.   Keep it brief!  RBBS-PC will
  3245. look for a "graphics" equivalent if the user qualifies for graphic displays
  3246. (i.e.  it  will display the file HELLOG in lieu of  HELLO).
  3247.  
  3248.  
  3249.  
  3250.                        Page 50 of 135
  3251.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3252.  
  3253. The  file  named "PRELOG" will be displayed as soon as carrier is  detected
  3254. and BEFORE a user can log on.   It is displayed immediately after the  name
  3255. of the RBBS-PC is shown (see option 16) and  providing it:
  3256.  
  3257.     1. has the name PRELOG and,
  3258.  
  3259.     2. is on the same disk drive as the WELCOME file.
  3260.  
  3261. SYSOP's  should  use  "PRELOG" to convey such information as  whether  real
  3262. names  are required,  300 baud users will automatically be  denied  access,
  3263. etc.
  3264.  
  3265. Parameters  70 through 75 focus on the text files that RBBS-PC displays  to
  3266. novices  as  "menus."   Menu files shown to novices tend to  be  frequently
  3267. accessed.   Systems  that do not have disk caching should consider  putting
  3268. menus in a RAM disk in order to cut down on the wear and tear of your  disk
  3269. drives.
  3270.  
  3271. Parameter 70 allows any valid name to be given to the text file  containing
  3272. the  commands  allowed those with SYSOP privileges.
  3273.  
  3274. Parameter  71  allows  the  SYSOP to specify the  name  of  the  text  file
  3275. containing  the menu of commands available to those in the main  "messages"
  3276. subsystem.
  3277.  
  3278. Parameter  72  allows  the  name of the text file containing  the  menu  of
  3279. commands available to those in the "files" subsystem to be any valid  name.
  3280.  
  3281. Parameter  73  allows  the  name of the text file containing  the  menu  of
  3282. commands  available to those in the "utilities" subsystem to be  any  valid
  3283. name.
  3284.  
  3285. Parameter  74  is  the  name  of the text file listing  the  names  of  the
  3286. conferences that are available.   Conference names must be seven-characters
  3287. or less, in all caps, and cannot have any character to the left or right of
  3288. the  name  except  possibly a space.   The SYSOP  must  already  have  pre-
  3289. formatted the messages and users files associated with the conferences (see
  3290. section 19.0).
  3291.  
  3292. Parameter  75  allows  the  user  to specify the  name  of  the  text  file
  3293. containing the list of the questionnaires,  surveys, or forms which callers
  3294. can  fill out or answer.   The scripting support built into RBBS-PC  allows
  3295. the  SYSOP to construct a series of questions to be presented to the caller
  3296. and  save  the answers.   Questionnaire names must be eight  characters  or
  3297. less,  in all caps,  and cannot have any character to the left or right  of
  3298. the name except possibly a space.
  3299.  
  3300. Parameter  76  is  the name of the text file listing names that  the  SYSOP
  3301. considers inappropriate.   This file is used when a new user signs on.  The
  3302. new  users first and last name are each individually  checked  against  the
  3303. names in this file.
  3304.  
  3305.     The format of this file is as follows:
  3306.  
  3307.     <name>,
  3308.  
  3309.  
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.                        Page 51 of 135
  3316.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3317.  
  3318.     An example of such a file would be:
  3319.  
  3320.     KILLER,
  3321.     MAN,
  3322.     THE,
  3323.     DOC,
  3324.     DOCTOR,
  3325.     DEATH,
  3326.  
  3327. All names should be UPPER CASE! If you create the file using IBM's standard
  3328. DOS text editor,  EDLIN,  each line should end with a comma.  If you create
  3329. the file using COPY CON,  each line should end with a carriage return (i.e.
  3330. the "enter" key).  The last line (when using    COPY CON) should end with a
  3331. Control Z, (F6), and then carriage return.  BASIC will treat either a comma
  3332. or a carriage return as a field delimiter.   You  need  a  field  delimiter
  3333. following each of the names.   If the above file existed,  any new user who
  3334. logged and used the following names would be denied access:
  3335.  
  3336.     Byte Killer
  3337.     Kilo Man
  3338.     Doctor Death
  3339.     PC Doctor
  3340.     The Best
  3341.  
  3342. 12.5 Parameters for RBBS-PC "system" Files
  3343. ------------------------------------------
  3344. Parameter 81 allows the SYSOP to specify the file name for the file used by
  3345. RBBS-PC to hold the messages on the bulletin board.  This file can NOT have
  3346. an  extension because RBBS-PC appends the extension ".BAK" to the file name
  3347. when "packing" the messages file.
  3348.  
  3349. RBBS-PC  keeps  a profile of each user who logs on in a "user record"  (see
  3350. Appendix A for a layout of this record).   Parameter 82 allows the SYSOP to
  3351. specify the file name for this file.   This file can NOT have an  extension
  3352. because  RBBS-PC  appends  the  extension  ".BAK" to  the  file  name  when
  3353. "packing" the users file.
  3354.  
  3355. Instead  of leaving a "message",  a user may leave a comment for the  SYSOP
  3356. that  is  readable only by the SYSOP.   Parameter 83 allows  the  SYSOP  to
  3357. specify  the  fully  qualified name for the file used by RBBS-PC  to  store
  3358. users' comments.
  3359.  
  3360. Parameter 84 allows the SYSOP to have comments recorded as private messages
  3361. to him in the main messages file providing there is any room.   This allows
  3362. replies to comments to be done much more easily.
  3363.  
  3364. RBBS-PC maintains a log of user activity on a "callers" file.   It contains
  3365. information on the date,  time, communications parameters of who logged on;
  3366. what  they uploaded or downloaded;  and any security violations  or  errors
  3367. that  were generated.   Parameter 85 allows the SYSOP to specify the  fully
  3368. qualified name for the file that RBBS-PC uses for this log.
  3369.  
  3370. If parameter 86 is selected,  additional items of  information are included
  3371. in the CALLERS file:
  3372.      1) "Connect not completed"              8) "Time limit exceeded"
  3373.      2) "Sleep disconnect"                   9) "Left comment at time"
  3374.      3) "Caller changed name/address"       10) "Logged off at time"
  3375.      4) "Newuser"                           11) "Carrier dropped at time"
  3376.      5) "Bulletin# read"                    12) "Message # xxxx left at"
  3377.      6) "SYSOP initiated Chat"              13) "Read Messages ..."
  3378.      7) "Entered  Conference name"          14) "Answered questionnaire xxx"
  3379.  
  3380.                        Page 52 of 135
  3381.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3382.  
  3383. It should be remembered that for each occurrence of the above,  the CALLERS
  3384. file will increase by 64 bytes.   Unless you either have a hard disk or are
  3385. willing  to  frequently maintain your system in order to leave enough  free
  3386. space  on  the  disk  drives for new  files,  this  option  should  NOT  be
  3387. activated.
  3388.  
  3389. Parameter 87 has not been implemented in CPC15-1A.
  3390.  
  3391. 12.6 Parameters for RBBS-PC "Doors"
  3392. -----------------------------------
  3393. Parameter  101 allows the SYSOP to enable RBBS-PC to exit and return to the
  3394. system (i.e.  DOS).   You will also be asked if you will be running "doors"
  3395. with  MultiLink.   If  you  reply yes,  you can they choose  what  type  of
  3396. terminal  MultiLink is to assume the user is using when MultiLink  receives
  3397. control  from RBBS-PC.   See the MultiLink manual for the various  terminal
  3398. types.   If  you  choose terminal type zero,  MultiLink will not  be  given
  3399. control  of the communications port when RBBS-PC exits to the "door."   Use
  3400. this if your application is coded to control the communications port.   The
  3401. batch  file  out of which RBBS-PC is invoke should then check to see  if  a
  3402. "door"  is to be invoked.   A "door" is simply a batch file that the  SYSOP
  3403. has created which RBBS-PC users are allowed to exit to and which will  then
  3404. take control of the remote users communication port.
  3405.  
  3406. Parameter  102 allows the SYSOP to specify the fully qualified file name of
  3407. the menu that lists the names of the "doors" available to  users.   RBBS-PC
  3408. checks  this  file  to  verify  that the name of the  door  that  the  user
  3409. requested is in the doors menu (see section 16).   A door name in the  menu
  3410. must  have 8 or fewer characters,  be in all caps,  and the only  character
  3411. that can occur immediately before and after the name is a space.
  3412.  
  3413. Parameter  103 allows the SYSOP to specify the fully qualified file name of
  3414. the  file  that RBBS-PC is to use when dynamically building the  .BAT  file
  3415. that invokes the "door" selected by the user.   The batch file that invokes
  3416. RBBS-PC  must contain an "IF" to check if this file exist whenever  RBBS-PC
  3417. terminates and (if it exists) to execute it (see section 15).  This is also
  3418. the same file name that is used when the SYSOP exits to DOS.
  3419.  
  3420. When a door finishes RBBS-PC is re-invoked.  Parameter 104 allows the SYSOP
  3421. to  specify the fully qualified file name of the .BAT file that  should  be
  3422. used  to re-invoke RBBS-PC (see sections 15 & 16).   This is also the  same
  3423. file name that is used when the SYSOP returns from exiting to DOS.
  3424.  
  3425. Whenever  you  exit to a "door" or to DOS (via the remote SYSOP's  function
  3426. 7),  RBBS-PC  needs  to  know where to  find  COMMAND.COM.   In  a  network
  3427. environment  with several PC's the COMMAND.COM's may be different for  each
  3428. PC.  Parameter 105 allows the SYSOP to specify for the each copy of RBBS-PC
  3429. a  disk drive on which to find the COMMAND.COM appropriate for that copy of
  3430. RBBS-PC.
  3431.  
  3432. Parameter  106 allows the SYSOP to elect to redirect I/O to  communications
  3433. port  when executing a program external to RBBS-PC either via the  standard
  3434. DOS "Change Console Command" (CTTY) or the special characters < (for input)
  3435. and > (for output).
  3436.  
  3437. Parameter  107  allows  the SYSOP to select how RBBS-PC is to  invoke  those
  3438. external  programs  such  as  communications  protocol  drivers  for   file
  3439. transfers (i.e.  Kermit) to fulfill its own functions.   There are two ways
  3440. to execute these other programs:
  3441.  
  3442.    1.  EXITing RBBS-PC and invoking the other program via a .BAT file that
  3443.        RBBS-PC builds dynamically, or
  3444.  
  3445.                        Page 53 of 135
  3446.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3447.  
  3448.    2.  SHELLing to the other program while RBBS-PC remains in memory.
  3449.  
  3450. EXITing  RBBS-PC allows other BASIC programs to be run as external programs
  3451. to RBBS-PC,  conserves memory,  and allows all of RBBS-PC's features to  be
  3452. active in computers with only 256K of memory.   The "price" that is paid is
  3453. that  upon returning from the externally called program RBBS-PC's .EXE file
  3454. must be reloaded into memory.
  3455.  
  3456. SHELLing  prohibits other BASIC programs to be run as external programs  to
  3457. RBBS-PC,  consumes memory because RBBS-PC remains in memory when the  other
  3458. program is running, and requires 292K of memory (under DOS 3.2) to activate
  3459. all  of RBBS-PC's features.   However,  SHELLing does eliminate the need to
  3460. reload the RBBS-PC.EXE file each time.   Option 107 lets the SYSOP  specify
  3461. how  other programs will be invoked.   See option 213 as well regarding the
  3462. external protocol drivers.
  3463.  
  3464. 12.7 Parameters for RBBS-PC's Security
  3465. --------------------------------------
  3466. Parameter   121 specifies the minimum security level users need in order to
  3467. log  onto  RBBS-PC and parameter 122 specifies the security level  assigned
  3468. to new users.    If  the security level assigned new users is less than the
  3469. minimum security level to log on, no new  users  can  logon on.  This means
  3470. that  no new users are allowed and access is limited only to pre-registered
  3471. users.  Since one of RBBS-PC's two objectives is to facilitate the exchange
  3472. of information, every RBBS-PC SYSOP is urged to not entirely deny new users
  3473. access.    The  sections  on  RBBS-PC's  extensive  security  features  and
  3474. subscription management detail the ways in which a SYSOP can control access
  3475. to his RBBS-PC without having to deny access to new users.
  3476.  
  3477. Parameter 123 allows you the minimum security level a user must have to  be
  3478. considered an "assistant" SYSOP by RBBS-PC to be specified.  Even if a user
  3479. has  a high enough security level to see the SYSOP's menu and execute  some
  3480. or all of the SYSOP commands, the user will not be treated as a SYSOP (i.e.
  3481. allowed  to  see the files upload/download when viewing the  CALLERS  file)
  3482. unless  the users security level is equal to or greater than that specified
  3483. by this parameter.
  3484.  
  3485. Parameter  124 specifies the name of the file that contains a list of  file
  3486. names  that  CANNOT  BE  DOWNLOADED (even if they are  on  the  disks  that
  3487. are   available for downloading) unless the user supplies a password and/or
  3488. is at  a  specific  security level.   If you want to have no file  security
  3489. at  all,   just put no file names in this file.   If you include a password
  3490. with  a file  name  all users (including one with SYSOP privileges) must be
  3491. able  to   give  the password in order to download the file.   For  a  more
  3492. detailed  description  of  this file and how  it  works,  see  the  section
  3493. entitled "How to Implement the Security for Download Files."
  3494.  
  3495. Parameter  125  prevents the SYSOP menu from being displayed (even if   the
  3496. user   has  a security level of a SYSOP as specified in option 123)  unless
  3497. the user  is also at this security level.
  3498.  
  3499. Parameter  126  allows the SYSOP to set the minimum security level  a  user
  3500. must have to exit RBBS-PC via a "door".   This security level must be equal
  3501. to or higher than the security level for the "D>oor" command (see Parameter
  3502. 129).
  3503.  
  3504. Parameter  127  allows  a  maximum  number  of  security  violations  (i.e.
  3505. attempts  to  download protected files) before the user is logged  off  and
  3506. locked out.
  3507.  
  3508.  
  3509.  
  3510.                        Page 54 of 135
  3511.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3512.  
  3513. Parameters  128  through  132  allow the SYSOP to set   up   the   security
  3514. levels   required  to issue the commands in the  SYSOP,   Main  Menu,  File
  3515. Subsystem,  Utilities Subsystem (respectively),  and global commands.   All
  3516. the  commands  in  each area can  be  given  the same  security  level  or,
  3517. optionally,  a specific command can  be  given a unique security level.
  3518.  
  3519. Parameter  133  specifies   the file name which contains   the   privileged
  3520. group   passwords  that allow users to change temporarily  their  security,
  3521. time   on   the  system,   etc.  -- if the SYSOP has set it  up  that  way.
  3522. Callers  shift  to   a   group  password by  changing  passwords.   If  the
  3523. password  they  select  is  found in the  file  containing  the  privileged
  3524. passwords,  their private logon password is unchanged and they receive  the
  3525. security level and/or time limit associated with the group password. If you
  3526. have  no  group passwords,  just put nothing in  this file.    For  a  more
  3527. detailed  description  of  this  file and how it  works,  see  the  section
  3528. entitled "How to Implement the Password File."
  3529.  
  3530. Parameter  134  allows  the SYSOP to specify the maximum  number  of  times
  3531. users   can  change their passwords in a given session.   This  prevents  a
  3532. caller from "fishing" for special passwords.
  3533.  
  3534. Parameter 135 is the minimum security level required in order for users  to
  3535. change  temporarily  their security or  time on the system  via  privileged
  3536. group  passwords.   If  users  do not have the minimum  security  level  to
  3537. temporarily change their password, ALL password changes that they make will
  3538. be  permanent  -- even  if  the password they select is  in  the  temporary
  3539. password file named in parameter 112 of CONFIG!
  3540.  
  3541. Parameter  136 allows  the  SYSOP to specify a security  level   that   has
  3542. the  privilege  of  overwriting  files (i.e.   files  that  already  exist)
  3543. when  uploading.
  3544.  
  3545. When  the SYSOP "purges" the USERS file,  all users who have not signed  on
  3546. within  the number of months specified in parameter 16 are deleted from the
  3547. file with the exception of those who have been "locked out" and those whose
  3548. security level is equal to or greater than that specified in parameter 137.
  3549.  
  3550. Parameters 138 through 140 are not implemented in CPC15-1A.
  3551.  
  3552. 12.8 Parameters for Multiple RBBS-PC's
  3553. --------------------------------------
  3554. RBBS-PC  allows  multiple RBBS-PC's to run in the same  environment/network
  3555. and  share many of the same files.   If you ever plan to do this or if  you
  3556. are  going  to  do this,  set this number to the MAXIMUM  number  you  ever
  3557. envision running.   Up to 36 RBBS-PC's can share the same files.  Different
  3558. environments  have  different  maximum  number  of  nodes  that  they   can
  3559. effectively  support.   Parameter  141  allows you to specify  the  maximum
  3560. number of RBBS-PC's that the MESSAGES file should be initialized for.
  3561.  
  3562. Parameter  142 allows the SYSOP to designate the type of  environment  that
  3563. multiple copies of RBBS-PC will be sharing files in.   This is necessary so
  3564. that  RBBS  can  use  the mechanism that is  appropriate  to  the  specific
  3565. environment when sharing files.   RBBS-PC CPC15-1A currently can handle the
  3566. following environments for multiple RBBS-PC's:
  3567.  
  3568.              1.  MultiLink (The Software Link, Inc.)
  3569.              2.  OmniNet (Corvus)
  3570.              3.  PC-Net (Orchid)
  3571.              4.  DESQview (Quarterdeck Office Systems)
  3572.              5.  10 Net (Fox Research)
  3573.  
  3574.  
  3575.                        Page 55 of 135
  3576.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3577.  
  3578. NOTE:   Many  manufacturers  utilize Orchid's network conventions.   As  an
  3579. example,  AST  and  Alloy are both vendor's whose "network" is  .EXE  file-
  3580. compatible  with Orchid's (i.e.  "An Orchid by any other name is  still  an
  3581. compatible their network is with those supported by RBBS-PC.
  3582.  
  3583. Some local area network environments are not designed to have  applications
  3584. constantly branch back to the beginning and re-open already open files.  If
  3585. you are in this environment or simply want to run external programs after a
  3586. user logs off or RBBS-PC recycles,  parameter 143 allows you to elect to do
  3587. this.   If  you specify "internal",  RBBS-PC will function as it  currently
  3588. does  and branch back to its beginning.   If you specify "system",  RBBS-PC
  3589. will  exit to DOS and (if you are running RBBS-PC out of a .BAT  file)  you
  3590. can  then  automatically invoke any other "housekeeping" programs you  want
  3591. before  re-invoking  RBBS-PC.   It  should be noted that this  will  add  a
  3592. considerably  delay  to RBBS-PC's recycling time as RBBS-PC  will  have  to
  3593. reloaded back into memory every time it recycles.
  3594.  
  3595. Like  the MESSAGES file,  the USERS file must also be static in length  for
  3596. RBBS-PC.  Parameter 144 allows the SYSOP to set the size of the USERS file.
  3597. RBBS-PC  automatically keeps track of the records available for use in this
  3598. file  and does the necessary "housekeeping."   To do this RBBS-PC  requires
  3599. the USERS file size (i.e.  the number of records in it) to be a power of 2.
  3600. When  the USERS file get full (i.e.  all its records are used up)  and  the
  3601. SYSOP  neither "packs" it nor increases the size of the file,  no new users
  3602. will be able to be added to the users until one of these two events occurs.
  3603. Parameter 251 lets new users get on even if the users file is full.
  3604.  
  3605. RBBS-PC  requires  that  the  "Messages" file  be  static  in  length.   It
  3606. automatically  keeps  track  of  the next record  available  and  does  the
  3607. necessary housekeeping to maintain the integrity of the file. Parameter 145
  3608. allows  the  SYSOP  to  set  the  size  of  this  file.    CONFIG.BAS  will
  3609. automatically  determine what size the current file is and will reformat  a
  3610. pre-CPC12-3A  MESSAGES  file if it finds one.   If you do not increase  the
  3611. size of your existing MESSAGES file,  no one will be able to leave any  new
  3612. messages.  Similarly, when the MESSAGES file get full (i.e. all its records
  3613. are used up) and the SYSOP neither "packs" it nor increases the size of the
  3614. file,  no one will be able to leave a message until one of these two events
  3615. occurs.
  3616.  
  3617. The  minimum  size  of the MESSAGES file is equal to  1  (The  "checkpoint"
  3618. record)  plus  the maximum number of concurrent RBBS-PC's ("node"  records)
  3619. plus the maximum number of messages allowed multiplied by 5 (each  messages
  3620. is assumed to average five 128-byte records)
  3621.  
  3622. Therefore,  if option 141 of CONFIG where 12 and option 145 of CONFIG where
  3623. 50,  the  minimum number of records that could be specified for option  125
  3624. would be
  3625.  
  3626.        1 (The "checkpoint record)
  3627.     + 12 (The number of "node" records)
  3628.     +250 (50 messages x 5 128-byte records each)
  3629.     ----
  3630.      263 records for the MESSAGES file
  3631.  
  3632. Parameter  # 146 lets you set the maximum number of messages that the SYSOP
  3633. will  allow  on the  system at any one time.    The number will have to  be
  3634. based on the size  of  the  average  message on your bulletin board.   Most
  3635. messages  require about  600  bytes  on the average.    The absolute  upper
  3636. limit  on the number of messages  is  999.    If you specify 250  messages,
  3637. you  can expect that the MESSAGES  file  will be preformatted to more  than
  3638. 160K in size.
  3639.  
  3640.                        Page 56 of 135
  3641.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3642.  
  3643. Parameter # 147 allows "conference" files to be maintained.  A "conference"
  3644. consists of a message file and, if a "private" conference, a  corresponding
  3645. users  file.   The  name of the conference can be anything that  the  SYSOP
  3646. selects but can not be longer than 7 characters.   The message file's  name
  3647. for  a  conference  consists  of the conference name  plus  the  characters
  3648. "M.DEF".   The  user  file's  name associated  with  "private"  conferences
  3649. consists of the conference name plus the characters "U.DEF".   Parameter  #
  3650. 147 allows the SYSOP to create,  expand,  or contract either or both of the
  3651. files  associated  with  a "conference."  This occurs ONLY when  the  SYSOP
  3652. "ENDs" the CONFIG session by pressing the key marked END.   Parameter # 147
  3653. allows  the SYSOP to perform all the functions on page 8 of CONFIG  on  the
  3654. conference  that  was named/selected with Parameter # 147.   For a  further
  3655. discussion of "conferences" see section 20.
  3656.  
  3657. 12.9 RBBS-PC SYSOP Utilities
  3658. ----------------------------
  3659. The  message  file contains all messages for   the   RBBS-PC  system.    As
  3660. messages  are  killed they are only flagged as  inactive.    Parameter  161
  3661. should  be used periodically to recover the space occupied  by  the  killed
  3662. messages.   After  completion,   only the text of active messages  will  be
  3663. present  and  the  old  file will remain on the system  with  the  name  of
  3664. MESSAGES.OLD.   Also, you will need enough free disk space for the MESSAGES
  3665. and MESSAGES.BAK files when packing the MESSAGES file or the packing cannot
  3666. be  performed.   If  enough space is not found the packing  will  terminate
  3667. abnormally and the MESSAGES file will be recovered.
  3668.  
  3669. Parameter  162 removes deleted users and users who  have  not  been on  the
  3670. system  within the number of months specified using parameter 16 in CONFIG.
  3671. You   should   have enough free disk space for USERS and USERS.BAK  or  the
  3672. rebuilding   will terminate abnormally (the USERS file will  be  restored).
  3673. It is important to note that beginning with CPC12-5A,  the USERS file is no
  3674. longer a random file that is accessed sequentially but now is a random file
  3675. that is accessed directly.   When a user logs on RBBS-PC "hashes" the users
  3676. name to find the users record directly in the USERS file.   That is why the
  3677. USERS file's size is a power of 2 (i.e.  256,  1024,  etc.).   This  allows
  3678. users  to  log  on much more quickly to RBBS-PC's that have  a  very  large
  3679. number of users.
  3680.  
  3681. Parameter  163 will display the message headers  of all  messages,   active
  3682. and killed,  that are present in the message file.   This is left over from
  3683. one  of the many "debugging" stages of RBBS-PC prior to  CPC09.   Following
  3684. the  policy  of  making all changes  "additive",  this  function  has  been
  3685. retained.  It may help some SYSOP's recover from disk hardware failures.
  3686.  
  3687. Parameter  164  permits messages to be renumbered   sequentially   starting
  3688. from  a  specified  message  using  whatever  starting  number   you  wish.
  3689. Please note that there is not much error checking to be  sure  that the new
  3690. numbers do not duplicate those of lower numbered  active  messages.    When
  3691. complete,   the next message to be created will be the next  higher  number
  3692. from  the resequence.   Unpredictable results will occur if a SYSOP creates
  3693. messages with duplicate numbers!
  3694.  
  3695. Parameter  165 goes through the MESSAGES file and reconstructs  the  chains
  3696. that link the messages together.  MESSAGES files that have "blank" messages
  3697. or  abbreviated  messages  (i.e.  some lines of text are  missing)  can  be
  3698. repaired with this facility.
  3699.  
  3700. Parameter 166 allows the SYSOP to require all users (old and new) to answer
  3701. the required questionnaire whose name was specified in parameter 28.
  3702.  
  3703.  
  3704.  
  3705.                        Page 57 of 135
  3706.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3707.  
  3708. Parameter 167 allows the SYSOP to determine whether the format of the RBBS-
  3709. PC  directory  of  files being used by the RBBS-PC File  Management  System
  3710. (FMS)  conforms to the exact fixed format required by the FMS (in case  the
  3711. text  editor  used by the SYSOP to edit the file inserted tabs  or  shorten
  3712. lines that had trailing blanks at the end of them).
  3713.  
  3714. 12.10 Use of DOS Subdirectories
  3715. -------------------------------
  3716. Parameter  181   specifies  the  letter  of the  single   drive   available
  3717. that  this  copy  of RBBS-PC can write uploaded files to.  When a  file  is
  3718. uploaded,  the file specified by CONFIG parameter 182 will be automatically
  3719. appended  with  the  file name,  file size,   date  of  upload,  and  short
  3720. description as specified by the user.
  3721.  
  3722. Parameter  # 182 of the CONFIG program asks for the name of  the  text file
  3723. to be used as an RBBS-PC "directory" of files  into  which the  file  name,
  3724. file  size,  and  file  description of uploaded files can be recorded.  The
  3725. default  name  is  99.DIR and  it must be on the  drive/path  specified  in
  3726. parameter  #  183.
  3727.  
  3728. Parameter  183 specifies the drive/path were the upload directory is to  be
  3729. found.
  3730.  
  3731. Parameter 184 specifies the letters of the drives from which files  can  be
  3732. downloaded.   The  order in which they are specified is the order in  which
  3733. the  drives will be searched.   If the order is BAC,  then drive B will  be
  3734. searched  first for the file,  then drive A,  and finally drive  C.   While
  3735. there can be duplicate files on each of the drives,   the first file  found
  3736. will be the one downloaded to the user.
  3737.  
  3738. Parameter  185 allows the SYSOP to indicate that DOS subdirectories are  to
  3739. be  used  by  allowing  the number of DOS subdirectories  to  be  used  for
  3740. downloading  to  be specified (0 to 9999).   This number is  equal  to  the
  3741. number  of  DOS subdirectories to be used for uploading (0 or 1)  plus  the
  3742. number of DOS subdirectories to be used for downloading.
  3743.  
  3744. Parameter  186  allows the SYSOP to indicate the DOS subdirectory to  which
  3745. uploads are to be written.   RBBS-PC will prepend the upload disk drive  to
  3746. it  (see  parameter  181)  and append the upload file name  after  it  when
  3747. uploads are written to disk.
  3748.  
  3749. Parameter  187 allows the SYSOP to indicate that DOS subdirectories are  to
  3750. be  used  when searching for files on downloading.  A valid download  drive
  3751. followed by a colon, a reverse backslash, and the subdirectory name that is
  3752. to  be  searched  must be entered.   If the root directory is  also  to  be
  3753. searched,  just  enter  a valid download drive followed by  a  colon.  Each
  3754. download  disk  drive is searched for only those subdirectories  that  were
  3755. specified  as  existing  on  that  specific  drive.  If  two  download  DOS
  3756. subdirectories are specified (A:\TEST1 and B:\TEST2) and two download  disk
  3757. drives for parameter 184 (A and B),  the search for a download file will be
  3758. in the following order:
  3759.  
  3760.             A:\TEST1\filename
  3761.             B:\TEST2\filename
  3762.  
  3763. It  is  possible to have the same subdirectory name on  different  download
  3764. drives.   Each  would  have  to be  individually  specified  (A:\GAMES  and
  3765. B:\GAMES   If  they  where,  the  search for a download file  would  be  as
  3766. follows:
  3767.             A:\GAMES\filename
  3768.             B:\GAMES\filename
  3769.  
  3770.                        Page 58 of 135
  3771.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3772.  
  3773. Parameter 188 is only functional if parameter 185 is greater than 0.   This
  3774. parameter  allows  the  SYSOP to list,  change,  add,  or  delete  the  DOS
  3775. subdirectories   to  be  used  for  either  uploading  (parameter  182)  or
  3776. downloading  (parameter 187).   CONFIG does NOT actually create  or  delete
  3777. such  DOS subdirectories -- that's up to the SYSOP to do using the standard
  3778. DOS   commands.    Parameter  188  simply  allows  the  SYSOP   which   DOS
  3779. subdirectories will (or may) exist when RBBS-PC is running.
  3780.  
  3781. Parameter  189  allows the SYSOP to specify the  extension  that  RBBS-PC's
  3782. "directories"  of  files are to have.  See section 13 for a description  of
  3783. RBBS-PC's  "directories" of files.-- they have no relation to DOS  2.x  and
  3784. above subdirectories!  Most SYSOP's categorize the files that are available
  3785. for downloading into general groups (games,  utilities, etc.).  The default
  3786. is  "DIR".   This extension is also used as the prefix of the directory  of
  3787. directories  that  is presented to callers when they ask for a list of  the
  3788. directories available (DIR.DIR).
  3789.  
  3790. Option 190 allows the SYSOP to exclude the primary directory (DIR.DIR) from
  3791. the  search  done by the New command.    If you have multiple   directories
  3792. (i.e.   RBBS.DIR  through  BASIC.DIR),   any dates in the primary directory
  3793. would not be  of  files.    The  "New"  command (as in "What new files have
  3794. been   put   on  the  download  directories since I was last  on?")  search
  3795. each  line of each  file  whose extension is DIR for a date  field.   Since
  3796. the  first  level directory is normally a listing of the other  directories
  3797. and  their general subject areas,  it is advisable to omit the first  level
  3798. directory from the "New" command.
  3799.  
  3800. Descriptions of files uploaded are always appended to the upload directory.
  3801. Parameter 191 allows the description to be appended to another file.   This
  3802. could be,  for example, a list of all files on the system, or the basis for
  3803. a bulletin reviewing the uploads.
  3804.  
  3805. Option  192 is how the SYSOP declares that there is a shared FMS directory.
  3806. Leave  it  blank  if there is none.   Section 14 discusses  in  detail  the
  3807. advantages  of using this directory,  which has a different structure  from
  3808. other   directory  files.    This  file  must  be  in  the  drive/path  for
  3809. directories.
  3810.  
  3811. Users who upload can classify uploads into a category if their security  is
  3812. at least as high as the level specified in parameter 193.   This option can
  3813. save  the  SYSOP considerable time.   If the uploader cannot  classify  the
  3814. upload,  it goes only to the upload directory and uses the default category
  3815. code if written to the FMS directory.
  3816.  
  3817. Set  parameter 194 to "YES" if there are no directories other than the  FMS
  3818. directory.   That  increases the speed of RBBS-PC because it does not  look
  3819. for additional directories.   If you do not have a shared directory or have
  3820. a  hybrid  system with some physically distinct directory files,  set  this
  3821. parameter to "NO".
  3822.  
  3823. Parameter 195 is the default category code for uploads.   This parameter is
  3824. how  uploads  get  classified in the FMS directory if the  uploader  cannot
  3825. provide  a classification.   To make all new uploads private  and  viewable
  3826. only  by  the  SYSOP (until the SYSOP reviews the  files  and  changes  the
  3827. classification),  set  the default code to "***".   The default is "UC" for
  3828. UnClassified.
  3829.  
  3830. Parameter  196  is  the  name of the text file  which  tells  RBBS-PC  what
  3831. categories  are included in the shared FMS directory.   The format  of  the
  3832. file is
  3833.            "<category name>","<category codes>","<category description>"
  3834.  
  3835.                        Page 59 of 135
  3836.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3837.  
  3838.     For example:
  3839.                     "BASIC","BPG","BASIC Programming"
  3840.  
  3841. means  that  callers  know  the category as BASIC,  its  code  in  the  FMS
  3842. directory  is  "BPG",  and  the category is to be described to  callers  as
  3843. "BASIC  Programming".   See  section 14 for details on how to set  up  this
  3844. critical system file.
  3845.  
  3846. Parameter  197  is only meaningful if the RBBS-PC  File  Management  System
  3847. (FMS)  has been enabled via parameter 192.  RBBS-PC will scan this file for
  3848. the latest uploads.  When a caller logs on, RBBS-PC will determine how many
  3849. files are new since the caller last logged on,  up to a maximum of 23.   By
  3850. setting option 197,  the caller is offered the chance to immediately review
  3851. these new files for downloading,  if the caller has sufficient security  to
  3852. download.   This  happens  before the bulletins or messages  are  reviewed.
  3853. RBBS-PC's  that emphasize software exchange may want to enable this option,
  3854. others  may not want to give the caller a chance to download the new  files
  3855. until after bulletins and messages have been reviewed.
  3856.  
  3857. Parameter  198 sets the maximum length of the description that can be given
  3858. to  an uploaded file.  RBBS-PC can be configured so that those  who  upload
  3859. files can provide a description of the file they upload.   This description
  3860. informs  others what the file does and helps them decide whether they  want
  3861. to  download the files.    The maximum length of the description can be set
  3862. to any value between 40 and 46.   WARNING:  this option will not change the
  3863. length of existing directories.
  3864.  
  3865. Parameter  199 controls who can view new uploads based on  security  level.
  3866. This  works differently,  depending on whether type upload directory is the
  3867. FMS directory and is stored other than in the searchable directories.
  3868.  
  3869.     1.)  If the upload directory is not in the drive/path of  the
  3870.          searchable directories,  it will be viewable if and only
  3871.          if  the  callers has a security at least as high as  the
  3872.          minimum to view new uploads.
  3873.  
  3874.     2.)  If the upload directory is not the FMS directory but  is
  3875.          stored  in  the  same  drive/path  as  it,  it  will  be
  3876.          viewable.
  3877.  
  3878.     3.)  If  the  upload  directory is  the  FMS  directory,  the
  3879.          minimum to view applies only to uploads with the default
  3880.          category code.
  3881.  
  3882. Parameter  200  specifies  where all directory files must  be  put,  except
  3883. possibly for the upload directory.  Only in this DOS directory does RBBS-PC
  3884. look  for RBBS-PC  directory files,  with the sole exception of the  upload
  3885. directory when the caller's security level permits the upload directory  to
  3886. be viewed (see parameter 199).
  3887.  
  3888. 12.11 Communications Parameters
  3889. -------------------------------
  3890. Parameter  # 201 requests the user to specify the communication  port  that
  3891. RBBS-PC   will use.   Because the BASIC language can only support COM1  and
  3892. COM2,  RBBS-PC can only support COM1 and COM2 for remote access (i.e. via a
  3893. communications port and a modem).   However,  RBBS-PC does accept COM0 as a
  3894. parameter.    This  allows  RBBS-PC  to  run  on  a  PC  without  using   a
  3895. communications  port  or modem and still appear to the PC user as  if  they
  3896. were  accessing  RBBS-PC remotely.   This "workstation" feature  can  allow
  3897. RBBS-PC  to be used in a local area network environment where each of up to
  3898. 36  PC's can access the central RBBS-PC system (on the LAN server) and  use
  3899.  
  3900.                        Page 60 of 135
  3901.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3902.  
  3903. RBBS-PC   for  electronic  mail  within  the   LAN.    Alternatively   this
  3904. "workstation"  mode  can be used to teach users how to access RBBS-PC in  a
  3905. classroom environment without requiring telephone access.
  3906.  
  3907. Parameter  202 allows the SYSOP to specify the number of seconds that RBBS-
  3908. PC should wait after initializing the modem with a "reset"  command.   Most
  3909. modems require only 2 seconds, however some may require much (MUCH) longer.
  3910. If  the  2 second default is not sufficient consult with your modem  vendor
  3911. and try different settings.
  3912.  
  3913. Parameter 203 allows the SYSOP to specify how long to wait prior to issuing
  3914. a modem command.   This is most useful when you have configured RBBS-PC  to
  3915. only issue commands between rings and want the modem to "settle down" after
  3916. a  ring has ended.   The default setting is one second.   If you find  that
  3917. 2400  baud calls are improperly connected at 1200 baud,  increase the wait.
  3918. Some modems take longer to connect at 2400 than at lower speeds.
  3919.  
  3920. Parameter  204  specifies the number of rings to wait before answering  the
  3921. phone.   Specifying  zero rings means that RBBS-PC will answer the phone as
  3922. soon as it rings.
  3923.  
  3924. If you specify the number ONE,  RBBS-PC will wait for the phone to ring and
  3925. then instruct the modem to answer the phone.   This is the default  setting
  3926. and  requires  that  the modem be capable of indicating that the  phone  is
  3927. ringing (i.e. provide the "ring indicator" signal) and that the modem cable
  3928. have PIN 22 connected at both ends.
  3929.  
  3930. Specifying  a  number equal to ZERO (and not specifying "ring-back")  means
  3931. that  RBBS-PC will initialize the modem to automatically answer  the  phone
  3932. (independent of RBBS-PC) and RBBS-PC will simply wait for carrier detect to
  3933. occur.   This is NOT RECOMMENDED.   However, if your non-Hayes modem simply
  3934. is  incapable  of indicating that the phone is ringing or your modem  cable
  3935. does not have PIN 22 connected,  this is the option you will have to elect.
  3936. If  this option is selected,  you are not allow to drop into  DOS  remotely
  3937. (either through a "door" or via  the SYSOP's function 7).  CONFIG parameter
  3938. 101 allows you to exit RBBS-PC remotely even if you specify a number  equal
  3939. to  zero  and no ring-back.   You should be aware that if you are  in  this
  3940. configuration and have exited RBBS-PC and are disconnected the next  person
  3941. to  dial  would be connected to wherever you where because the  modem  (not
  3942. RBBS-PC) is answering the phone.
  3943.  
  3944. If you specify a number greater than 2 means that RBBS-PC will either:
  3945.  
  3946.     1.  wait until the specified number of rings to answer the phone, or
  3947.  
  3948.     2.  answer the next call after the current one after the specified
  3949.         number of rings specified provided that the next call comes
  3950.         within 45 seconds after the first call stops ringing the phone.
  3951.         This mode is called RING-BACK.
  3952.  
  3953. Specifying  a  number greater than one is useful only when a  single  phone
  3954. line can receive both voice (i.e. callers who wish to speak with the SYSOP)
  3955. and data calls (i.e. for RBBS-PC) on an unscheduled basis.  In this type of
  3956. environment (i.e.  a random mix of voice and RBBS-PC calls),  there are two
  3957. ways a SYSOP can set up RBBS-PC so that RBBS-PC can automatically determine
  3958. if the call is for the SYSOP or for RBBS-PC.
  3959.  
  3960. First,  the SYSOP can establish the rule with the callers that if unable to
  3961. personally  answer the phone,  then RBBS-PC will answer the phone after  it
  3962. rings the number of times specified in option 9.  Callers can let the phone
  3963. ring  and (if it is not answered by a person within some agreed upon number
  3964.  
  3965.                        Page 61 of 135
  3966.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  3967.  
  3968. rings) know that it will be answered by RBBS-PC.   This is useful to  those
  3969. who  may  have either hearing or speech problems and are unable to use  the
  3970. telephone conveniently for voice communications.
  3971.  
  3972. A second approach is the more classic,  "ring-back" approach.   RBBS-PC can
  3973. be  told to NEVER answer the first call (it can ring  forever!).   However,
  3974. should  the caller WAIT A MINIMUM OF 12 SECONDS (a Hayes  restriction)  and
  3975. call  back no later than 45 seconds after the last ring of the first  call,
  3976. RBBS-PC  will  answer  the  call after the number  of  rings  indicated  in
  3977. parameter  9  provided that the number of rings is set to between  one  and
  3978. five. If callers want to make a voice contact, they can simply call and let
  3979. the phone ring until it is answered.  If you have a dedicated line for your
  3980. RBBS-PC (either full-time or on a scheduled basis),   parameter 9 should be
  3981. set to ZERO.
  3982.  
  3983. Option  205 provides the SYSOP with the capability of selecting  ANY  modem
  3984. commands appropriate for the modem being used -- not just the default Hayes
  3985. commands  RBBS-PC would normally use.   Before the default RBBS-PC standard
  3986. Hayes commands are changed,  you should thorougly understand the modem that
  3987. you  are  using  and the modem commands,  as  used  by  RBBS-PC,  that  are
  3988. described in section 13.
  3989.  
  3990. Option  206 allows MNP to be optional  within  RBBS-PC.  REGRETTABLY,  this
  3991. option  can not be selected with version CPC15-1A.   This is because it was
  3992. not  possible  to  resolve the linkage incompatibilities  between  the  new
  3993. compilers  and the MNP library and RBBS interface prior to the  release  of
  3994. CPC13-1A.  Every effort is being made to correct this particular problem.
  3995.  
  3996. Some  SYSOP's  may not wish to provide their users with the choice  of  MNP
  3997. protocol (especially if they are employed by a company that has a competing
  3998. protocol).   RBBS-PC's   features and growth are designed to be "additive."
  3999. This  parameter  allows  each  SYSOP to decide if MNP  protocol  is  to  be
  4000. available  for file transfers.   Microcom's error-free  protocol,  MNP,  is
  4001. available  for  file transfer beginning with version CPC12-4A  of  RBBS-PC.
  4002.  
  4003. Option  207  allows  the  SYSOP to tell RBBS-PC either  to  wait  to  issue
  4004. commands  between rings or to  issue modem commands without waiting.   Some
  4005. modems  cannot both handle the telephone ringing and accept modem  commands
  4006. simultaneously.  Other modems, like the Hayes, can handle such simultaneous
  4007. demands.   For these later (i.e. Hayes, Prometheus,  Multi-Tech, etc.) this
  4008. option should be set to "NO."
  4009.  
  4010. Some  2400  baud modems (like the Hayes) MUST be opened initially  at  2400
  4011. baud  because when they automatically answer the phone they can only  "bump
  4012. down" when automatically detecting baud rate (i.e.  from 2400 down to  1200
  4013. down  to  300).  Parameter 208 allows the SYSOP to select the baud rate  at
  4014. which RBBS-PC is to open the modem at initially.
  4015.  
  4016. The SYSOP can select the number of seconds RBBS-PC will allow a user to  be
  4017. "idle" (i.e. not sending or receiving data) via parameter 209.
  4018.  
  4019. Parameter  210 allows the SYSOP to indicate if a "dumb" modem is being used
  4020. (i.e.  one that will answer the phone and automatically detect the  callers
  4021. baud rate if it is the one the modem was opened for).  Selecting this means
  4022. that no modem commands are writtine to the modem.
  4023.  
  4024. If the SYSOP has a non-Hayes modem (i.e.  one that will not recognize Hayes
  4025. commands and will not return Hayes responses) that will only  "auto-answer"
  4026. the  phone,  parameter  210 allows the SYSOP to so indicate to  RBBS-PC  by
  4027. selecting  "dumb"  modem.   Typically  this would  be  some  communications
  4028. network (i.e.  TymnNet) or local area network that supplied a simple RS-232
  4029.  
  4030.                        Page 62 of 135
  4031.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4032.  
  4033. interface.  Selecting this option causes RBBS-PC to
  4034.  
  4035.          1.  Issue no Hayes commands,
  4036.          2.  Depend on no Hayes-like responses,
  4037.          3.  Control the interface with the Data Terminal Ready (DTR),
  4038.          4.  Assume somebody has called whenever Carrier Detect (CD) is
  4039.              detected, and
  4040.          5.  Assume that whomever calls is at the baud rate selected in
  4041.              CONFIG parameter 38.
  4042.  
  4043. Selecting  "Everex"  causes CONFIG to append an &D2 to  the  initialization
  4044. string described in section 12.
  4045. Selecting  "Hayes"  means  simply  that the command  strings  described  in
  4046. section 12 for the Hayes modem are adequate for the modem being used by the
  4047. SYSOP.
  4048.  
  4049. The  Hayes  2400 baud modem has no  hardware  switches.   It's  remembered,
  4050. permanent  settings  can  be set only through software.   Option  211  will
  4051. properly initialize a Hayes 2400 modem for use with RBBS.
  4052. Parameter  212  is the time to wait after dropping DTR.   This is  used  in
  4053. RBBS-PC for dropping the connection after a caller logs off normally.   Too
  4054. short  a  delay will cause the modem not to  re-initialize  properly.   The
  4055. default time is 3 seconds.
  4056.  
  4057. In  order  to provide the maximum flexibility (and get RBBS-PC out  of  the
  4058. protocol writing business),  RBBS-PC supports external protocol drivers via
  4059. a  standard interface.   The external protocol driver for YMODEM,  YMODEMG,
  4060. IMODEM is the file QMXFER.COM.   The external protocol driver for  WINDOWED
  4061. XMODEM  is  WXMODEM.COM.   The  external  protocol  driver  for  KERMIT  is
  4062. PCKERMIT.EXE.   These  protocols  work  only if the  external  drivers  are
  4063. available  and  in the drive/path specified by  parameter  213.   Also  see
  4064. parameter 107.
  4065.  
  4066. RBBS-PC has internal code to support Xmodem,  and Xmodem is also  supported
  4067. by  external protocol drivers.   Parameter 214 lets the SYSOP specify which
  4068. services xmodem requests.  The default is to use the internal xmodem.
  4069.  
  4070. RBBS-PC  can  check  right  after a caller logs  on  whether  the  caller's
  4071. communication  program  supports autodownload.   Turning on  parameter  215
  4072. means  that  RBBS  will  always do this  check.   However,  this  check  is
  4073. incompatible with come terminals and communications packages,  causing them
  4074. to  stop displaying on the local screen.   If the check is passed,  RBBS-PC
  4075. announces  that autodownload is available.  The  caller can control whether
  4076. autodownload is used with the T)oggle command in utilities.  It is recommended
  4077. that this option NOT be enabled.
  4078.  
  4079. Parameter  216  allows  the SYSOP to restrict searches (either  for  specific
  4080. strings or via the "N>ew" command by date) to a single RBBS-PC directory of
  4081. files.  If not restricted all RBBS-PC file directories will be searched.
  4082.  
  4083. Parameter 217 is not implemented in CPC15-1A.
  4084.  
  4085. 12.12 Parameters for RBBS-PC NET-MAIL
  4086. -------------------------------------
  4087. Parameter  221 allows the SYSOP to specifiy the time of day in HHMM  format
  4088. after  which  RBBS-PC  is to exit to a batch file for system maintenance.
  4089. The file that RBBSPC will exit to is RBBSTIME.BAT.  It is the SYSOP'S
  4090. responsibility to create this .BAT file.
  4091.  
  4092. Parameter 222 is not implemented in CPC15-1A.
  4093.  
  4094.  
  4095.                        Page 63 of 135
  4096.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4097.  
  4098. 12.13 New users parameters
  4099. --------------------------
  4100. Parameter  241  allows  the SYSOP to elect to not ask new users  for  their
  4101. default  parameters.   RBBS-PC  typically  asks  new  users  whether  their
  4102. terminal supports upper case,  they want line feeds,  what they want for  a
  4103. graphics  preference,  what they want for a default protocol,  and  whether
  4104. they want nulls.  Sometimes these questions confuse new users, who lack the
  4105. knowledge  to answer them.   To bypass the questions and force new users to
  4106. get  the  defaults (upper and lower  case,  line  feeds,  no  graphics,  no
  4107. protocol, no nulls), specify "NO" this parameter.
  4108.  
  4109. Parameters 242 through 249 are not implemented in CPC15-1A.
  4110.  
  4111. Parameter 250 allows new users to be always treated as new users every time
  4112. that  they log on.   RBBS-PC normally logs new users in the users file  and
  4113. recognizes  them as having previously logged on should they call back.   If
  4114. the SYSOP wants new users not to be logged to the users file, so that a new
  4115. use continues to be treated as a new user every time he calls, specify "NO"
  4116. to option 250.
  4117.  
  4118. Parameter  251  allows  the SYSOP to permit RBBS-PC to  continue  operating
  4119. should  the  users file run out of room for new users.   The user  file  in
  4120. RBBS-PC  can run out of room for new users.   Until the SYSOP rebuilds  the
  4121. users file or expands it,  there are then two options:
  4122.  
  4123.      1.   do not let the new user on, or
  4124.  
  4125.      2.   let the new user on but do not try to add him to the user file.
  4126.  
  4127. Saying "YES" to option 251 enable new users to be allowed on on when  there
  4128. is no room rather than being told there is no room and then disconnected.
  4129.  
  4130. 13.0 HAYES COMMANDS AND MODEM SWITCH SETTING CONSIDERATIONS
  4131. ----------------------------------------------------------
  4132. 13.1 Hayes Modem Switch Setting Considerations
  4133. ---------------------------------------------
  4134. RBBS-PC is tested with a HAYES Smartmodem 1200 (i.e.  external). The switch
  4135. settings on the modem must be as follows:
  4136.  
  4137.               switch -- 12345678
  4138.               setting - UUDDDUUD
  4139.  
  4140. Recognizing  that there are many "Hayes-compatible" (and not so compatible)
  4141. modems in use,  this section is intended to assist those adventurous  souls
  4142. who  use such modems and need some guidance on what the otherwise  mystical
  4143. Hayes switch settings mean.  The following table may be of some help:
  4144.  
  4145.            Setting                      Function to RBBS-PC
  4146. Hayes   -------------  Hayes
  4147. Switch  Factory  RBBS  Comnd        (NOTE "Up" means enabled or "on")
  4148.         -------  ----
  4149.  
  4150.   1       Down    Up    n/a   Allows RBBS-PC to control the modem using the
  4151.                               RS-232 DTR lead (pin 20).
  4152.  
  4153.   2        Up     Up    V1    Not meaningful to RBBS-PC (could be down) and
  4154.                               for some internal modems should be down.   It
  4155.                               is used to indicate if result codes are to be
  4156.                               English words or single digits.  RBBS-PC sets
  4157.                               this with the Hayes "V" command.
  4158.  
  4159.  
  4160.                        Page 64 of 135
  4161.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4162.  
  4163.            Setting                      Function to RBBS-PC
  4164. Hayes   -------------  Hayes
  4165. Switch  Factory  RBBS  Comnd        (NOTE "Up" means enabled or "on")
  4166.         -------  ----
  4167.  
  4168.   3       Down   Down    Q0   Not meaningful to RBBS-PC (could be down) and
  4169.                               is used to indicate if result codes are to be
  4170.                               sent to RBBS-PC.  RBBS-PC sets this with the
  4171.                               Hayes "Q" command.
  4172.  
  4173.   4       Up     Down    E0   The modem does not echo  characters unless
  4174.                               half-duplex is selected and the modem is  on-
  4175.                               line.
  4176.  
  4177.   5       Down   Down  S0=0   Modem is NOT to answer incoming calls.  RBBS-
  4178.                               PC  monitors  the ring indicator (pin 22)  to
  4179.                               determine if the phone is ringing.  If it is,
  4180.                               RBBS-PC will issue the necessary commands  to
  4181.                               the modem.
  4182.  
  4183.   6       Down    Up    n/a   RBBS-PC checks for the carrier signal using
  4184.                               the  RS-232 Carrier Detect lead (pin 8).   If
  4185.                               carrier is lost,  RBBS-PC hangs up the  phone
  4186.                               and re-cycles to await the next call.
  4187.  
  4188.   7        Up     Up    n/a   Not really required by RBBS-PC.   However  in
  4189.                               the "down" position,  the telephone extension
  4190.                               light   will  illuminate  on   a   multi-line
  4191.                               installation when the modem answers a call.
  4192.  
  4193.   8       Down    Down  n/a   Enables the Smartmodem 1200 to recognize the
  4194.                               Hayes commands issued by RBBS-PC.
  4195.  
  4196. The most common problem, "RBBS-PC continually recycles," occurs when switch
  4197. six is left in the factory position.
  4198.  
  4199. These   switch  settings  do  not  have  to  be  changed  for  most   other
  4200. communications software packages.  (You can leave the switches set as shown
  4201. above if you use PC-TALK for your smart terminal  communications.  However,
  4202. you will be advised to give the modem an "ATZ" command before using PC-TALK
  4203. in   order  to reset the registers correctly.)  RBBS-PC should be used only
  4204. with  versions 123 and above of the Hayes Smartmodem 1200 and with  version
  4205. 247  and  above of the Hayes Smartmodem 2400.   Earlier versions   do   not
  4206. answer   the  telephone  properly.    The  ATI  command  will   cause   the
  4207. Smartmodem to tell you its version.
  4208.  
  4209. Hayes is now shipping an external modem called the Hayes 1200FE that has 10
  4210. switch  settings.   To run RBBS-PC switches 9 and 10 of the 1200FE must  be
  4211. left  up  (the factory setting).   Hayes is also now shipping  an  internal
  4212. modem called the Hayes 1200BFE that has 6 switch settings.   To run RBBS-PC
  4213. switches 4,  5,  and 6 must be left up (the factory setting).  If you can't
  4214. figure  out what the switching settings on these new modems should be based
  4215. on  the  switch settings given for the "original" Hayes  1200,  CALL  HAYES
  4216. TECHNICAL SUPPORT!  Since I don't have the newer modems, I won't be of much
  4217. help if you call me.
  4218.  
  4219. 13.2 Hayes Command's Considerations
  4220. ----------------------------------
  4221. The  Hayes commands used to control the modem are all external  to  RBBS-PC
  4222. beginning  with version CPC13-1A.   These command strings are in the  RBBS-
  4223. PC.DEF  file which may be modified by any file editor that can handle ASCII
  4224.  
  4225.                        Page 65 of 135
  4226.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4227.  
  4228. files (i.e. DOS' EDLIN utility).
  4229.  
  4230. The  RBBS-PC.DEF  file  contains five Hayes command strings -- one  on  the
  4231. second  line of the .DEF file and four on the last line of the  .DEF  file.
  4232. Using  RBBS-PC's  CONFIG  utility's defaults,  the command strings  are  as
  4233. follows.
  4234.  
  4235.     13.2.1 Command to Initialize the Modem
  4236.     -------------------------------------
  4237.     The  second command string in the .DEF file is the first Hayes  command
  4238.     string on the last line of the .DEF file and is:
  4239.  
  4240. Command    Meaning
  4241. AT         Signifies the following characters are Hayes commands.
  4242. Z          Causes a software reset and applies all default values.
  4243.     This  command  is ALWAYS issued and is the first command issued to  the
  4244.     modem every time RBBS-PC gets ready for calls.
  4245.  
  4246.     13.2.2 Command to Set Up the Modem
  4247.     ---------------------------------
  4248.     The  first  command string,  on the second line of the  .DEF  file,  is
  4249.     ALWAYS  issued and is the second command issued to the modem every time
  4250.     RBBS-PC  gets ready for calls.
  4251.  
  4252.     If  the appropriate CONFIG has been set to tell RBBS-PC to answer on  a
  4253.     ring greater than zero, the command string is:
  4254.  
  4255. Command    Meaning
  4256. AT         Signifies the following characters are Hayes commands.
  4257. M0         Turn the monitor speaker on the modem off permanently.
  4258. Q1         Do not return result codes to the PC.
  4259. S2=255     Disable escape code detection.
  4260. S10=30     Do not drop disconnect user unless carrier drops for more
  4261.            than seconds (you may want to set this to 15)
  4262. E0         Do not echo characters back to the PC when receiving Hayes
  4263.            commands.
  4264. S0=x       "x" is set as follows:
  4265.                  S0=254  to answer on a specific number of rings > 0
  4266.                  S0=255  to enable "ring-back"
  4267.  
  4268.     If RBBS-PC has been set to answer on zero rings, Q and S0 are different
  4269.     and V1 and X1 are added to this command string and it is:
  4270.  
  4271. Command    Meaning
  4272. AT         Signifies the following characters are Hayes commands.
  4273. M0         Turn the monitor speaker on the modem off permanently.
  4274. Q0         Send result codes to the PC.
  4275. S2=255     Disable escape code detection.
  4276. S10=30     Do not drop disconnect user unless carrier drops for more
  4277.            than seconds (you may want to set this to 15)
  4278. E0         Do not echo characters back to the PC when receiving Hayes
  4279.            commands.
  4280. S0=1       Answer the phone on the first ring.
  4281. V1         "Extended" result codes are to be transmitted as words.
  4282. X1         Tells the modem to send "extended" result codes to the PC.
  4283.  
  4284.     It  should be noted that some internal Hayes modems have a design  flaw
  4285.     that cuases them to be unable to answer at any baud rate other than 300
  4286.     when  S10 is set to 30.   You may want to set this back to the  factory
  4287.     default setting for your modem.  Similarly, some modems do not have the
  4288.     X1 command in their vocabulary (notably the 300 baud only modems).
  4289.  
  4290.                        Page 66 of 135
  4291.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4292.  
  4293.     13.2.3 Command to Determine What Ring to Answer On
  4294.     -------------------------------------------------
  4295.     The third command string in the .DEF file is the second Hayes
  4296.     command string on the last line of the .DEF file and is:
  4297.  
  4298. Command    Meaning
  4299. AT         Signifies the following characters are Hayes commands.
  4300. S1?        Requests the modem to return the number of times that the phone
  4301.            has rung.
  4302.  
  4303.     This  command string is only issued when CONFIG has been used  to  tell
  4304.     RBBS-PC  to  answer on a specific number of rings other than  0.   Some
  4305.     modems have trouble with the S1?  command because they do not recognize
  4306.     the ? part of the command.  Again, verify what your modem is capable of
  4307.     handling.
  4308.  
  4309.     13.2.4 Command to Answer the Phone
  4310.     ---------------------------------
  4311.     The  fourth command string in the .DEF file is the third Hayes  command
  4312.     string on the last line of the .DEF file and is:
  4313.  
  4314. Command    Meaning
  4315. AT         Signifies the following characters are Hayes commands.
  4316. Q0         Tells the modem to send result codes to the PC.
  4317. X1         Tells the modem to send "extended" result codes to the PC.
  4318. V1         "Extended" result codes are to be transmitted as words.
  4319. A          Tells the modem to answer the phone immediately.
  4320.  
  4321.     This  is  only issued if the number of rings to answer on  are  greater
  4322.     than 0.
  4323.  
  4324. RBBS-PC  utilizes the extended verbal results code (CONNECT,  CONNECT  300,
  4325. CONNECT 1200, and CONNECT 2400) to determine the callers baud rate.
  4326.  
  4327. Some  Hayes  300  modems don't function with RBBS-PC because  they  do  not
  4328. recognize the "X1" command.   If you have a modem like this,  simply remove
  4329. the X1 command from the command strings in the .DEF file.
  4330.  
  4331.     13.2.5 Command to Take the Phone Off the Hook
  4332.     --------------------------------------------
  4333.     The  fifth command string in the .DEF file is the fourth Hayes  command
  4334.     string on the last line of the .DEF file and is:
  4335.  
  4336. Command    Meaning
  4337. AT         Signifies the following characters are Hayes commands.
  4338. Q1         Do not return result codes to the PC.
  4339. E1         Echo characters back to the PC when handling Hayes commands.
  4340. H1         Take the modem off the hook (i.e. busy out the line).
  4341. M0         Turn the monitor speaker on the modem off permanently.
  4342.  
  4343. This command is ALWAYS issued whenever the SYSOP is doing local maintenance
  4344. (i.e. hits ESC) or a user hangs up.
  4345.  
  4346. 14.0  RBBS-PC's FILE MANAGEMENT SYSTEM
  4347. --------------------------------------
  4348. The  File  Management  System (FMS) is a facility built  into  RBBS-PC  for
  4349. managing  the  files  subsystem.   SYSOPs must  make  files  available  for
  4350. downloading,  and  callers  must  be  able to find out what  files  can  be
  4351. downloaded  and  upload new files for sharing with  others.   Callers   can
  4352. search  for files available for downloading by a substring in the file name
  4353. or description (command S),   on or after a specified date (command N),  or
  4354.  
  4355.                        Page 67 of 135
  4356.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4357.  
  4358. by a subject matter (commands L,N,S).    The files system is organized into
  4359. four logical areas:
  4360.  
  4361.     1. Upload drive/subdirectory (Uploaded files written to here)
  4362.  
  4363.     2. Upload directory (Descriptions of uploaded files written to here)
  4364.  
  4365.     3. Drive/subdirectory of searchable directories (subject directories,
  4366.            shared FMS directory resides here)
  4367.  
  4368.     4. Download drives/subdirectories (downloadable files stored here)
  4369.  
  4370. An RBBS-PC "directory" of files is NOT A DOS DIRECTORY.   It is just a text
  4371. file  containing  information  about the files uploaded  or  available  for
  4372. downloading.
  4373.  
  4374. A  SYSOP  must  specify  via CONFIG where the files  are  stored  that  are
  4375. available  for  downloading.   This  can be specified either by a  list  of
  4376. download drives (e.g.  "CDE") or a list of subdirectories (e.g.  C:\DOWN1\,
  4377. C:\DOWN2\).
  4378.  
  4379. ONLY   THE   FILES  STORED  IN  THE  DOWNLOAD   DRIVES/SUBDIRECTORIES   ARE
  4380. DOWNLOADABLE  (with one exception:   SYSOP's can download from  the  upload
  4381. drive).
  4382.  
  4383. CONFIG is also used to specify where uploaded files are written to,  either
  4384. as a drive letter (e.g.  "D") or as a subdirectory (e.g.  D:\UPLDS\).
  4385.  
  4386. The  SYSOP  has  the option to make the upload  drive/subdirectory  also  a
  4387. download drive/subdirectory.   Only by making the upload drive/subdirectory
  4388. also  be  a  download  can files  uploaded  be  immediately  available  for
  4389. downloading  by  others.   Most prudent SYSOPs do not make files that  have
  4390. been uploaded available until after they have had a chance to review them.
  4391.  
  4392. A description of an uploaded file is automatically appended by RBBS-PC to a
  4393. special  RBBS-PC directory of files called the upload  directory.   RBBS-PC
  4394. appends  entries  describing  the  new uploads to the  end  of  the  upload
  4395. directory in the format
  4396.  
  4397.   <file name> <file date> <file size> <file description> <category code>
  4398.  
  4399. <file name> is the name of the uploaded file, and has the format X.Y, where
  4400.             X  is  the file name prefix and Y is the file  name  extension.
  4401.  
  4402. <file date> is the date the file was uploaded  in the format MM-DD-YY.   MM
  4403.             is the number of month (1 digit months include a leading  zero,
  4404.             so  that  March is 03).   DD is the number of the day (1  digit
  4405.             days have a leading 0).  YY is the last two digits of the year.
  4406.             March 7, 1987 would be expressed as "03-07-87".
  4407.  
  4408. <file size> is the size of the file in bytes.
  4409.  
  4410. <file description> is a  description  of the  file whose  maximum length is
  4411.             between  40-46 characters,  depending of what CONFIG  parameter
  4412.             198 was specified as.
  4413.  
  4414. <category code> is an  optional 3 character code  for the category the file
  4415.             belongs  to.   This code is included only if there is a  shared
  4416.             FMS  directory and it is the same physical file as  the  upload
  4417.             directory.
  4418.  
  4419.  
  4420.                        Page 68 of 135
  4421.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4422.  
  4423. SYSOPS  can make it easier for callers to find what files are available  by
  4424. classifying the files into categories.   RBBS-PC supports two fundamentally
  4425. different ways of categorizing files:
  4426.  
  4427. 1.    A single shared master directory file XXX.YYY
  4428.  
  4429.       where  YYY is the directory extension and XXX is the name of the  FMS
  4430.       directory.  A file entry in the master FMS directory is classified as
  4431.       being in a category by putting a three character category code at the
  4432.       end  of  the entry.   For example,  "GAM" might be the code  for  all
  4433.       games.
  4434.  
  4435. 2.    Physically  separate  multiple directory  files  XXX.YYY
  4436.  
  4437.       where YYY is the  directory extension  specified in  CONFIG parameter
  4438.       189  and  XXX  is  the name  of  the  directory.   Callers  know  the
  4439.       directories by name.  RBBS-PC knows the directories by where they are
  4440.       located  and  the  fact that the file has  the  directory  extension.
  4441.       There  can  be  as  many  directory files  as  desired.   A  file  is
  4442.       classified  as in a category simply by physically listing it  in  the
  4443.       directory.   For example,  the directory GAMES.DIR contains a list of
  4444.       all games.
  4445.  
  4446.       The  physically distinct directories should be text files  satisfying
  4447.       the following constraints:
  4448.  
  4449.            o  The file directories must have an extension of up to three
  4450.               characters.  The default extension is ".DIR".  The 8-character
  4451.               file name and extension can be anything you want as long as it
  4452.               is a valid DOS file name.
  4453.  
  4454.            o  Filename should start in column 1.
  4455.  
  4456.            o  Program size can be between columns 14 & 22.
  4457.            o  Date available for downloading must start in column 24 and
  4458.               should use MM-DD-YY or MM/DD/YY format.
  4459.  
  4460.            o  Description should start in column 34.
  4461.  
  4462. Callers  learn  what files are available by  listing  RBBS-PC  directories.
  4463. With the exception of the upload directory, all RBBS directories must be in
  4464. a  single drive/path specified by parameter 200 of CONFIG.   This is  where
  4465. RBBS-PC  searches when a caller asks to list files by date,  substring,  or
  4466. category.   The  upload directory will be viewable also if it is placed  in
  4467. this  drive/subdirectory.     If  placed  elsewhere,   whether  the  upload
  4468. directory  is  viewable  will be determined by the security  level  of  the
  4469. caller.  The SYSOP specifies a minimum security to view the new uploads via
  4470. CONFIG parameter 199.
  4471.  
  4472. If  the  SYSOP has chosen to use the RBBS-PC File Management System  (FMS),
  4473. the  SYSOP  must  specify what categories are included in  the  master  FMS
  4474. directory.   This  is  done  in a directory category  file  whose  name  is
  4475. specified in CONFIG parameter 196.  The format of entries is as follows:
  4476.  
  4477.         "<category name>","<category codes>","<category description>"
  4478.  
  4479. There are three entries to a line, each enclosed in quotes and separated by
  4480. a  comma.   The first entry is the name of the category.   This is how  the
  4481. categories should be listed in the menu for the L)ist command and what  the
  4482. caller must specify when asking for lists by category.   Most SYSOPs either
  4483. number  the categories (1,2,3,etc.) or give them names that describe  their
  4484.  
  4485.                        Page 69 of 135
  4486.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4487.  
  4488. contents,  are  easy  to remember,  and short enough to type quickly  (e.g.
  4489. GAMES,  UTILS, BASIC).
  4490.  
  4491. The  category codes are a list of all codes included in this  category  and
  4492. has  the format "X1,X2,...,XN" where X1,X2,..,XN are the individual  codes.
  4493. Each individual code must be separated from the others by a comma and there
  4494. must  not  be any spaces inside the category codes.   A category can  be  a
  4495. composite  consisting  of several categories.   For example,  if  "PRU"  is
  4496. printer utilities,  "SCU" is screen utilities,  and "FU" is file utilities,
  4497. then the codes for the category "UTILS", consisting of all utilities, would
  4498. be  "PRU,SCU,FU".
  4499.  
  4500. The  category  description is what RBBS-PC will print to the caller at  the
  4501. beginning of a search in a directory.   For example,  the command to search
  4502. directory GAMES for all entries with the string BAS will be prefaced by
  4503.  
  4504.            Searching directory GAMES for BAS - Games and Graphics
  4505.  
  4506. if "Games and Graphics" is the description with directory GAMES.
  4507.  
  4508. 14.1  Using a Single Master Directory
  4509. -------------------------------------
  4510. One  possible  extreme  in setting up RBBS-PC is to have  a  single  master
  4511. directory and no other.  This implies that the FMS directory is the same as
  4512. the upload directory.
  4513.  
  4514. Files  uploaded will have descriptions appended to the FMS directory  which
  4515. will therefore ALWAYS BE CURRENT.   This does not mean that the new uploads
  4516. will be listable.   The caller has the option to specify that the upload is
  4517. private to the SYSOP, in which case a special category code will be written
  4518. (***)  that requires SYSOP status to view.   Also,  if the category code is
  4519. the  default  category code specified in the  configuration,  only  callers
  4520. whose  security  level is higher than the minimum to view new  uploads  can
  4521. view them.
  4522.  
  4523. A SYSOP can prevent callers from seeing new uploads by not allowing uploads
  4524. to classify the uploads and by setting the minimum security to view be high
  4525. or making the default category code be "***".
  4526.  
  4527. The advantages of a using the FMS master directory are:
  4528.  
  4529. o  Callers will get the latest files listed first.
  4530.  
  4531.    The  files  in the FMS directory must be listed from oldest  to  newest.
  4532.    This file is read by RBBS-PC in reverse order from the bottom up so that
  4533.    the latest files get listed first.
  4534.  
  4535. o  Callers can download as soon as they see what they want.
  4536.  
  4537.    Listings from the FMS directory terminate with the option to simply list
  4538.    the files wanted to download.  The caller does not have to terminate the
  4539.    listing first nor type "D" for download.   Callers can grab the files as
  4540.    soon as they see them on their screen.
  4541.  
  4542. o  Listings resume where left off after downloading.
  4543.  
  4544.    Callers  need  not terminate a list just to  begin  downloading.   After
  4545.    downloading in the midst of listing files, the listing will resume right
  4546.    where it was before downloading.  The caller does not have to write down
  4547.    all  the  files  they  want,  then get out  of  the  listing  and  start
  4548.    downloading.
  4549.  
  4550.                        Page 70 of 135
  4551.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4552.  
  4553. o  Date searches are very fast.
  4554.  
  4555.    As soon as a file is hit that has a date earlier than desired,  the date
  4556.    search  terminates rather than needlessly continue to examine yet  older
  4557.    files.  Also, the date search algorithm for FMS directory entries is 25%
  4558.    faster than the date search in other directories.
  4559.  
  4560. o  Classifying files is fast and easy.
  4561.  
  4562.    Simply  load  up  the directory into any favorite  full  screen  editor,
  4563.    overtype the correct category code, and that's it:  one quick and simple
  4564.    change does it.  Remember too, that uploaders can be given the option to
  4565.    classify uploads,  in which case the SYSOPs work is limited to reviewing
  4566.    the suggestion of the uploader and correcting mistakes.
  4567.  
  4568. o  Complex classifications are easy to implement and change.
  4569.  
  4570.    Classifying  a category into its basic category immediately and  without
  4571.    additional  work  causes  it  to  be included  in  all  other  composite
  4572.    categories  that  include  it.   Hence it is simple and  easy  to  build
  4573.    complex, interrelated categories.  The category scheme can be changed at
  4574.    will simply by changing the directory category file.   And if the  basic
  4575.    categories  need  to be changed,  such as a rename or splitting a  basic
  4576.    category  into  two new ones,  this is as easy as a  global  search  and
  4577.    replace in an editor.  Because creating useful categories does not cause
  4578.    SYSOPs  a  lot  of  work,  they  can  afford  to  put  up  more  complex
  4579.    classifications that help callers find the files they really want.
  4580.  
  4581. 14.2  Reasons It May Not be Possible to Use a Single FMS Directory
  4582. ------------------------------------------------------------------
  4583. While  the  shared FMS directory has many  significant  advantages,  it  is
  4584. obviously absolutely unusable in networks (such as CORVUS' Omninet) that do
  4585. not  allowed  files that change in length to be shared.   Additionally  the
  4586. shared  FMS directory has other limitations that may force SYSOPS to  elect
  4587. not to use it at all or to use it with additional directories.
  4588.  
  4589. Physically  separate directory files that correspond to a single  directory
  4590. subject  are read and displayed sequentially from the top to the bottom  in
  4591. RBBS-PC.   The  only  restriction  placed on such a file is that  the  file
  4592. entries  must  have the month,  day,  and year somewhere in  the  first  31
  4593. columns in order for the N)ew command to work properly.
  4594.  
  4595. The  shared FMS directory is much fussier and will not work properly unless
  4596. the following limitations are observed:
  4597.  
  4598. 1. Files must be stored in date order from oldest to newest.
  4599.  
  4600.    Common  practices this precludes are to store the files in  alphabetical
  4601.    order by name,  or to group the files by sub-categories.   For  example,
  4602.    each communication program has all its files together.
  4603.  
  4604. 2. The only text in the file must be a file directory entry.
  4605.  
  4606.    Multiple  line header text,  or file descriptions can not be handled  by
  4607.    the  File  Management System.   One line file entries are  all  that  is
  4608.    supported.
  4609.  
  4610. 3. Only a single entry can be included for each file.
  4611.  
  4612.    A  common  practice  that will no longer work is to  have  a  multi-line
  4613.    description of a file by leaving the name/date/size blank and continuing
  4614.  
  4615.                        Page 71 of 135
  4616.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4617.  
  4618.    the description on the following line.
  4619.  
  4620. 4  The file date must have a leading 0 for 1 digit parts and  must have the
  4621.    month,  day,  and  year in only a specific column in order for the  N)ew
  4622.    command to work properly.
  4623.  
  4624. A shared FMS directory is perfectly compatible with additional directories.
  4625. RBBS-PC simply looks first in its list of categories in FMS.   If a request
  4626. for  a  directory is not found there,  it will then look on  the  directory
  4627. drive/path for the directory,  if directory searches are not limited to the
  4628. FMS  via  CONFIG  parameter 192.   For example,  the SYSOP  can  include  a
  4629. directory  called NAME which is a master list of files sorted by file name,
  4630. as well as directories maintained in the FMS directory.
  4631.  
  4632. 15.0  SETTING UP ".BAT" FILES FOR RBBS-PC
  4633. -----------------------------------------
  4634. Many SYSOPS have set up batch files to invoke RBBS-PC automatically and  to
  4635. re-invoke  RBBS-PC should there be a power outage.  These files range  from
  4636. the  simple to the sublime in terms of complexity.   In a multiple  RBBS-PC
  4637. environment,  these  .BAT  files CANNOT BE SHARED.   To  exit  RBBS-PC  and
  4638. transfer control to DOS remotely (either via the SYSOP's function 7 or  via
  4639. "doors"), it is necessary that:
  4640.  
  4641.      1.  RBBS-PC be executed from a batch file.
  4642.      2.  The batch file which is executing RBBS-PC contain
  4643.          an "IF" statement that checks for the existence of the
  4644.          batch file which RBBS-PC dynamically builds when
  4645.          either "doors" or SYSOP function 7 is invoked.
  4646.      3.  Within the "IF" statement, the logic exists such that the
  4647.          batch file dynamically built by RBBS-PC for the "doors"
  4648.          functions or SYSOP function 7 will be invoked if it exists.
  4649.  
  4650. As a very simple example, let us assume that:
  4651.  
  4652.      1.  the batch file that invokes RBBS-PC is named A:RBBS.BAT,
  4653.          and that is what was entered for option 84 of CONFIG.BAS,
  4654.      2.  the name of the batch file that RBBS-PC will build
  4655.          dynamically for either "doors" or SYSOP function 7 is
  4656.          A:RCTTY.BAT, and that is what was entered for option 83 and
  4657.      3.  the compiled version of RBBS-PC is being executed and is
  4658.          named RBBS-PC.EXE and is on the default disk drive.
  4659.      4.  you have elected to use the watchdog utility program.
  4660.      5.  COM1 was designated as the communication port for RBBS-PC to use.
  4661.      6.  the CALLERS file is on drive A.
  4662.  
  4663. Then   A:RBBS.BAT  (in  a  non-MultiLink  environment)  would  contain  the
  4664. following:
  4665.  
  4666.      WATCHDG1 OFF
  4667.      IF EXIST A:RBBSxF1.DEF DEL A:RBBSxF1.DEF
  4668.      IF EXIST A:RCTTY.BAT DEL A:RCTTY.BAT
  4669.      RBBS-PC x filename  (see note of values available for "x" and "filename")
  4670.      IF EXIST A:RBBSxF1.DEF GOTO EXIT
  4671.      IF EXIST A:RCTTY.BAT WATCHDG1 ON
  4672.      IF EXIST A:RCTTY.BAT A:RCTTY.BAT
  4673.      A:RBBS.BAT
  4674.      :EXIT
  4675.  
  4676.     NOTE:   When running RBBS-PC.EXE, RBBS-PC will check for the "x" in the
  4677.     command  line  that invoked RBBS-PC.   The "x" on the execute  line  is
  4678.     extremely  important to the correct operation of RBBS-PC.   If you  are
  4679.  
  4680.                        Page 72 of 135
  4681.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4682.  
  4683.     running  in a local area network environment then the "x" should  be  a
  4684.     number  between "1" and "0" or a letter between "A" and "Z".  If "x" is
  4685.     omitted from the command line, RBBS-PC will look for a file named RBBS-
  4686.     PC.DEF.   RBBS-PC  uses   the  parameter   in  the   command  line   to
  4687.     determine   the correct RBBSxPC.DEF file to use for  its  configuration
  4688.     parameters  if  the second parameter is not  present.   If  the  second
  4689.     parameter is present,  then RBBS-PC assumes this is the fully qualified
  4690.     file name for the .DEF file that this node should use.
  4691.  
  4692. 16.0 THE USE OF RBBS-PC "DOORS"
  4693. -------------------------------
  4694. The  RBBS-PC "door" concept is that of allowing a SYSOP to set up a  "door"
  4695. through which users can exit from RBBS-PC and enter other applications.  In
  4696. previous versions of RBBS-PC (i.e.  prior to CPC12-3A) this had been called
  4697. "windows"  but  because  of the confusion this created with  the  WINDOWing
  4698. concepts of other software, it has been re-labeled "doors".
  4699.  
  4700. RBBS-PC's   "doors"  are nothing more than .BAT files that the  SYSOP   has
  4701. created   to   allow  users  to  exit  from  RBBS-PC   and   enter    other
  4702. applications (i.e.  databases, etc.).  The SYSOP is responsible for writing
  4703. the  .BAT  files that users will be allowed to invoke.  Assuming that RBBS-
  4704. PC is brought up by DOS via an AUTOEXEC file that invokes RBBS.BAT,  a door
  4705. called  EDIT exists that consists of a .BAT file (EDIT.BAT) which  contains
  4706. the commands CTTY,  EDLIN,  and RBBS.BAT.  In order to exit RBBS-PC (either
  4707. for  a  "door" or for the remote SYSOP's function 7) without the code  that
  4708. the  BASIC  compiler  generates for you dropping the  remote  user,  it  is
  4709. necessary  for the compiler that RBBS-PC is compiled under be "patched"  as
  4710. described  in  Appendix  R otherwise the user  will  be  disconnected  upon
  4711. returning to RBBS-PC.  Here  is pictorially what happens:
  4712.  
  4713.                         DOS
  4714.                          |
  4715.                     AUTOEXEC.BAT
  4716.                          |
  4717.                       RBBS.BAT
  4718.                          +--------->RBBS-PC.EXE
  4719.                                         |
  4720.                                       "RUN"
  4721.                                         |
  4722.                          +<------------ends
  4723.                          |
  4724.                       RBBS.BAT
  4725.                          |
  4726.                     RCTTY.BAT<-----invokes door called "EDIT"
  4727.                          |
  4728.                      EDIT.BAT
  4729.                          |
  4730.                          +--------->EDLIN.COM
  4731.                                         |
  4732.                      EDIT.BAT <--------ends
  4733.                          |
  4734.                      RBBS.BAT  (Not allowed for Redirect I/O Method)
  4735.                          |
  4736.                          +--------->RBBS-PC.EXE
  4737.                                         |
  4738.                                    welcome back from door
  4739.                                    and RBBS-PC continues
  4740.  
  4741.  
  4742.  
  4743.  
  4744.  
  4745.                        Page 73 of 135
  4746.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4747.  
  4748. A sample .BAT file for a program called TEST.EXE would look like this:
  4749.  
  4750.         (Using CTTY Method)             (Using Redirect I/O Method)
  4751.              CTTY COM1                COMMAND /C TEST.EXE <COM1 >COM1
  4752.              TEST.EXE
  4753.              CTTY CON
  4754.              RBBS.BAT
  4755.  
  4756. and assumes:
  4757.  
  4758. 1.  That you are going to be using COM1.
  4759. 2.  That the program "TEST.EXE" is on the default drive.
  4760. 3.  That the batch file to invoke RBBS-PC is called "RBBS.BAT."
  4761. 4.  The the batch file "RBBS.BAT" is on the default drive.
  4762.  
  4763. CTTY METHOD --  The first command, "CTTY COM1", assigns most standard input
  4764. and  output  to  the communications port number  1.   The  second  command,
  4765. "TEST.EXE",  invokes  some test program that you write that reads from  and
  4766. writes to the standard input and output devices (i.e.  the keyboard and the
  4767. screen).   The third command,  "CTTY CON", reassigns the standard input and
  4768. output  back to the local PC's keyboard and screen whenever TEST.EXE  ends.
  4769. The  fourth command simply invokes another batch file named RBBS.BAT (which
  4770. presumably invokes RBBS-PC).
  4771.  
  4772. REDIRECT  I/O  METHOD  -- The first command,  "COMMAND  /C  TEST.EXE  <COM1
  4773. >COM1",  starts  a secondary COMMAND processor,  loads TEST.EXE and assigns
  4774. most  standard  input  and  output to the  communications  port  number  1.
  4775. "Most" is the key word here since PC-DOS does not have a way of redirecting
  4776. "STANDARD ERROR" like it does for "STANDARD IN and STANDARD OUT".  To solve
  4777. this  problem STDERR.COM is included as part of the basic  RBBS-PC  system.
  4778. This  program  was provided by Quarterdeck Systems.   Run "STDERR.COM"  one
  4779. time only before you start RBBS-PC.  (I Suggest that you include it in your
  4780. AUTOEXEC.BAT FILE.  This program works with all versions of PC-DOS 2.0 thru
  4781. 3.2.
  4782.  
  4783. To first set up and test a door, DO NOT USE RBBS-PC.  Rather set up with
  4784.  
  4785. 1.   your  modem  on autoanswer (i.e. it answers the phone)
  4786. 2.   a .BAT file that redirects all input and output to the communications
  4787.      port that you are going to use using the IBM DOS CTTY command.
  4788. 3.   make sure the .BAT file invokes the program that you want to use as
  4789.      a "door."
  4790. 4.   invoke the .BAT file that you set up in steps 2 and 3.
  4791. 5.   dial up the modem that you set in autoanswer mode in step 1.
  4792. 6.   get your "door" to work in this environment.
  4793.  
  4794. If you have problems with steps 1 through 6, call your friendly IBM support
  4795. or  the vendor of the software that you want to use as a door and ask  them
  4796. to  teach  you  about either their software or the CTTY command  and  their
  4797. software's compatibility with the CTTY command.
  4798.  
  4799. AFTER YOU HAVE YOUR DOOR WORKING, to set up a "door" for RBBS-PC, you must
  4800.  
  4801. 1.   list   the  name  of  the door (i.e.  the .BAT file which you  already
  4802.      got working and debugged and are responsible for setting up) in MENU5.
  4803.      The  name  must be in all capital letters and must have at  lease  one
  4804.      space on each side.
  4805.  
  4806. 2.   indicated that  doors are  available  (via  CONFIG.BAS' option 81).
  4807.  
  4808.  
  4809.  
  4810.                        Page 74 of 135
  4811.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4812.  
  4813. When a user invokes the D>oor command, RBBS-PC will:
  4814.  
  4815.     1.  List MENU5,
  4816.     2.  Check that the door that the user selects was specified in MENU5,
  4817.     3.  Check that the .BAT file exists (on the default drive),
  4818.     4.  Dynamically create a .BAT file with the name specified
  4819.         by the SYSOP in option 83 of CONFIG.BAS that:
  4820.             a.  invokes the .BAT file of the window specified,and
  4821.             b.  re-invokes RBBS-PC after the user EXITS from the
  4822.                 "door" by invoking the .BAT file that the SYSOP
  4823.                 specified in option 84 of CONFIG.BAS.
  4824.  
  4825. The   purpose of "doors" is to allow for the "horizontal" growth of   RBBS-
  4826. PC.   Clearly  RBBS-PC has about all that IBM's BASIC compiler can  handle.
  4827. In  order  to not limit the application of RBBS-PC either to BASIC  or  the
  4828. current  compiler,   "doors" was chosen as a mechanism to allow SYSOP's  to
  4829. make available other features (i.e.   databases,  games,  etc.).  Hopefully
  4830. with  RBBS-PC as a base,  the limitations on doors will only be the SYSOP's
  4831. resourcefulness AND IBM'S DISK OPERATING SYSTEM (see section 18)!
  4832.  
  4833. The   design of the .BAT file that is to be used as a "door"  is   critical
  4834. and  is  the responsibility of the SYSOP.   At the very minimum  it  should
  4835. handle  the communication port I/O.   This can be done in a very  primitive
  4836. way  using  the  DOS CTTY command and and a  utility  similar  to  WATCHDOG
  4837. (written by Jim Reinders) that is described in section 19.
  4838.  
  4839. When  the file RCTTY.BAT is executed,  it executes another batch file  with
  4840. the  name of that particular door.   DOS does not return to the  RCTTY.BAT.
  4841. So, at the end of your doors batch file, you must reinvoke RBBS.BAT.
  4842.  
  4843. The way that the doors menu works is it checks to see if the door name that
  4844. you  wanted to open is in MENU5.   If it is in all capital letters  in  the
  4845. RBBS  file  MENU5,  it runs the batch file of that name with the  extension
  4846. ".BAT".
  4847.  
  4848. In  general,  the program invoked as a "door" has to do is print everything
  4849. to the Comm port and if you wish,  echo it to the screen.  The initial part
  4850. of  any  "door" should read in the parameters passed to the "door"  in  the
  4851. "node"  record  (see  line  numbers 43070 and  44000  of  RBBS-PC.BAS)  and
  4852. establish the communications parameter appropriately.
  4853.  
  4854. Finally,  if  the preceding discussion of "doors" is a complete mystery  to
  4855. you,  contact a SYSOP of an RBBS-PC that is using "doors" and ask for help.
  4856.  
  4857. CHESSDOR  is one of the more professional "doors" that has been shared with
  4858. me.  It was written by Bob Westcott and his data number is (603) 424-5497.
  4859.  
  4860. While I don't suppose it needs to be mentioned, if you call Bob and take up
  4861. their  time  learning  about "doors" for personal  gain  (i.e.  you  are  a
  4862. consultant  or  some company's employee being paid to write a "door")  have
  4863. the courtesy to tell them.   The "user helping user" concept does NOT imply
  4864. that anyone should be taken advantage.   Both Matt and Bob (or anyone  else
  4865. who has acquired specialized knowledge) has the right to be remunerated for
  4866. their  efforts  if  their  knowledge is being used  to  further  commercial
  4867. purposes and they request it.
  4868.  
  4869. The  "door"  concept  stretches  IBM's DOS' capabilities  and  requires  an
  4870. extraordinary knowledge of how both DOS,  the DOS CTTY command,   and  .BAT
  4871. files work.
  4872.  
  4873.  
  4874.  
  4875.                        Page 75 of 135
  4876.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4877.  
  4878. 17.0  THE SECURITY FEATURES OF RBBS-PC
  4879. --------------------------------------
  4880. RBBS has always been an open system designed for public use. A SYSOP should
  4881. always  ASSUME that EVERY FILE ON THE PC running RBBS-PC CAN BE  DOWNLOADED
  4882. AND/OR   DESTROYED.    However,   RBBS-PC  has  extensive  safeguards  that
  4883. systematically  enhance security and privacy.  For example, RBBS-PC has the
  4884. logic  within  it's  code  to  prohibit  anyone  (including  SYSOP's)  from
  4885. downloading the RBBS-PC "system" files described in section 6.1.   RBBS can
  4886. still  be run as  a  wide-open system,   but the SYSOP has many  additional
  4887. options   to  restrain  access.    These  security options make  RBBS  much
  4888. more suitable for  private  and business use.
  4889.  
  4890. RBBS-PC's security is controlled by three things:
  4891.  
  4892.      1. the system configuration file (RBBS-PC.DEF),
  4893.      2. the  two external security files for
  4894.            a. passwords (PASSWRDS), and
  4895.            b. file downloads (FILESEC), and
  4896.      3. the users file (USERS) in which each user has an assigned
  4897.         security level.
  4898.  
  4899. The   users  file is controlled by the SYSOP's  user  maintenance  function
  4900. 5  as described in section 18.   To change a specific users security  level
  4901. you select the M>odify option and then the S>ecurity option.   This  allows
  4902. you  to  set  the security level for a user.   Users cannot set  their  own
  4903. security levels.  Section 17.3 describes how to implement special passwords
  4904. that  provide  special privileges to the groups that issue  them.   Section
  4905. 17.4  describes how specific files,  groups of files,  or even  whole  disk
  4906. volumes can have download security levels associated with them.
  4907.  
  4908. 17.1 RBBS-PC's Security Features
  4909. --------------------------------
  4910. Each  user has an assigned security level.    This is an integer   in   the
  4911. range  -32,000  to +32,000.   There are then over 65,000 possible  security
  4912. levels.    Each  command in RBBS-PC also has a security level assigned   to
  4913. it.    Security  assignments  are  controlled  by the  SYSOP.    To  use  a
  4914. command,   the   caller's  security level must be at least as high  as  the
  4915. command's security  level.
  4916.  
  4917. The  SYSOP can assign a file or group of files both a security level and  a
  4918. password.    To  download a file,  a caller must have a security level   at
  4919. least as high as the file's and be able to give the file's password (if one
  4920. is  present).    All  users must pass these   security   tests,   including
  4921. anyone  with  SYSOP privileges.
  4922.  
  4923. Messages  can  now  be  assigned a password by  their  creator.  Then  only
  4924. persons who are able to give that password can read  or  kill the  message.
  4925. Messages  with  password protection will show <PROTECTED>   when   scanned.
  4926. Callers  have  no way of distinguishing messages to   private   individuals
  4927. and  to  groups  except by how they are addressed.    Persons  with   SYSOP
  4928. privileges can read all messages.   Section 17.2's description of sending a
  4929. message  to an AUTHORS SIG as an addressee with the password of  AUTHORONLY
  4930. shows how to send a message to a special group.
  4931.  
  4932. Security  violations  are  logged  to  the  CALLERS  file.   These  include
  4933. attempting  to  use functions without sufficient  security  clearance,  and
  4934. failure to give required passwords.
  4935.  
  4936. RBBS-PC's default configuration is that of an "open" system.
  4937.  
  4938.  
  4939.  
  4940.                        Page 76 of 135
  4941.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  4942.  
  4943. RBBS-PC's security system provides the SYSOP with several choices on how to
  4944. run RBBS-PC. The chief ones are as follows:
  4945.  
  4946. 1.  Change the bulletin board from an open system available to all callers,
  4947. to   a  pre-registered  system available  only  to  specified  users.    To
  4948. support  this option,   there is a function in the SYSOP's user maintenance
  4949. option  5  to ADD users.
  4950.  
  4951. 2.   A SYSOP can set up different "classes" of users by assigning different
  4952. security levels to different users.   Concurrently the SYSOP would have  to
  4953. assign  different security levels to different commands.   For example  new
  4954. callers  might be permitted only to leave a comment,  read  bulletins,  and
  4955. list  files  that  can be downloaded.  Or there might be a group  of  files
  4956. assigned a security level that only members of a special interest group can
  4957. download.
  4958.  
  4959. 3.   The  SYSOP  can  segregate the functions of the  bulletin  board  into
  4960. different  groups based on a password.   A specific file or group of  files
  4961. can  be  downloadable  only to those who  knew  the  password.   Similarly,
  4962. messages  can be made open to everyone knowing the password but  closed  to
  4963. everyone else.  This way there can be semi-private portions of the bulletin
  4964. board.
  4965.  
  4966. 17.2 Examples of Uses for RBBS-PC's Security System
  4967. ---------------------------------------------------
  4968. Some  examples of how a SYSOP can tailor RBBS-PC using RBBS-PC's  extensive
  4969. security features follow.
  4970.  
  4971. SPECIAL INTEREST GROUPS --  A special interest group (SIG) in a users group
  4972. wishes  to  run  a RBBS for both the general public and  its  own  use.  An
  4973. example would be an authors SIG for persons interested in publishing books
  4974. and  articles  or developing commercial software.   A definite  need  would
  4975. exist to be able to address messages to everyone in the SIG without  making
  4976. them  open  to  every caller.   The SIG would establish the  convention  to
  4977. password protect general SIG messages with the password AUTHORONLY,  and to
  4978. address  them to AUTHORS SIG.
  4979.  
  4980. Another  example  would be a bulletin  board  devoted  to the  exchange  of
  4981. software.    Allowing  persons to use the message  subsystem   would   only
  4982. interfere with the primary purpose of  the  bulletin  board.  Therefore the
  4983. SYSOP  removes  from  the  menu  the functions  for  leaving   and  reading
  4984. messages.   To prevent a person from using the functions to leave or read a
  4985. message  (even  though  they are not displayed),   the SYSOP assigns  these
  4986. functions  a security level higher than a person who logs on normally would
  4987. be assigned.
  4988.  
  4989. Another  example of using RBBS-PC's security system would be to set  up  an
  4990. agreed  upon temporary password such that when a user logs onto the  system
  4991. they  can issue the password and get longer than normally allowed.   If the
  4992. time  for  normal users is 30 minutes,  the SYSOP can set up  the   special
  4993. password  SOFTEXCHANGE,  with  a maximum time on  of  150  minutes  instead
  4994. of  the  normal  30.    By shifting over to  this  special  password  after
  4995. logging in, members can get extra time if they need it.
  4996.  
  4997. SOFTWARE SUPPORT --  An author of a freeware program offers RBBS support to
  4998. all  persons  who register their copies and send a  contribution  of,  say,
  4999. $35  per  copy.    The   registered user can get answers for  problems  and
  5000. download   free   updates  and  sample  applications.    The  author  wants
  5001. anyone  to  be  able  to  call just to find out about  the  service.    New
  5002. callers get a security level  of  2  automatically assigned to them.   This
  5003. allows  them to  use  only the  message subsystem.    The file subsystem is
  5004.  
  5005.                        Page 77 of 135
  5006.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5007.  
  5008. assigned  a security level of  7.    Contributors  are added by  the  SYSOP
  5009. with a security level of 7 and a  pre-assigned password.   Except for SYSOP
  5010. functions,  registered users have free  reign in the RBBS.
  5011.  
  5012. CLIENT  SUPPORT  --  A SYSOP on a public RBBS also works as   a  management
  5013. consultant.  She has several associates who work with her on projects.  She
  5014. needs to be able to send and receive messages from her associates which the
  5015. general  public  should  not see.   So they agree  on  a  message  password
  5016. NOTPUBLIC. To support her different clients she also needs to leave private
  5017. files  for downloading.   To each client she assigns a special  downloading
  5018. password.    To  restrict downloading to just that client,   file names are
  5019. put  in the file security file with the appropriate password.  Only persons
  5020. with  the password can then download them.
  5021.  
  5022. PRIVILEGED  ELECTRONIC MAIL --  A company uses RBBS-PC to help support  its
  5023. regional offices.  Only regional vice-presidents should be able to download
  5024. certain management reports.   In file security these reports are assigned a
  5025. high security level of 9, which only managers get.
  5026.  
  5027. 17.3 How to Implement the Password File
  5028. ---------------------------------------
  5029. CONFIG  allows  the SYSOP to designate the name of the file containing  the
  5030. privileged group passwords to RBBS-PC.   Since this file is a normal  ASCII
  5031. file,  the   SYSOP   can  use  any  text editor to create and  update   the
  5032. file  it.   Put   the  information for each password on a single  line  and
  5033. separate the fields with  commas.  It is important to note that EACH record
  5034. of  both the password or  the file security file must contain  FOUR  fields
  5035. (i.e. THREE commas).   For  the password file, the format is:
  5036.  
  5037. <password>,<security level>,<max time on>,<subscription period>
  5038.  
  5039. Note:  Max time is in units of minutes, subscription period is in number of
  5040. days.
  5041.  
  5042. Two examples are:
  5043.  
  5044.    EXTEND,5,120,9999
  5045.    ,7,128,
  5046.  
  5047. If  you  are using COPY CON to create this file you "MUST" press F6 at  the
  5048. end of the last entry prior to pressing carriage return.
  5049.  
  5050. A  user  who issued the password change function and supplied the  password
  5051. EXTEND would have their security level temporarily set to 5 and be  granted
  5052. an  elapsed  time of 120 minutes for the current session (the users elapsed
  5053. time per day would still be whatever was set in option 15 of CONFIG), and a
  5054. subscription period of 9,999 days.    A user who logged on with a  security
  5055. level  of 7 would  automatically be granted 128 minutes on the system,  and
  5056. the  subscription  period would be unchanged from whatever it  was  before.
  5057. Use  0  for subscription period if you want to use the default  value  from
  5058. CONFIG.
  5059.  
  5060. 17.4  How to Implement the Security for Download Files
  5061. ------------------------------------------------------
  5062. CONFIG  allows  the SYSOP to designate the name of the file containing  the
  5063. passwords  and  security levels that can be used to restrict  downloads  of
  5064. specific  files,   volumes,  or  files  names  meeting  certain  "wildcard"
  5065. criteria.   This file contains file names with download restrictions in the
  5066. format:
  5067.  
  5068. <filename>, <security level>,<password>
  5069.  
  5070.                        Page 78 of 135
  5071.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5072.  
  5073. Note:   Each line is a record and ends with carriage-return line-feed.  The
  5074. only optional field is the password field for a filename.   By leaving  the
  5075. password  field  empty,  no password is assigned to  a  file.   The  commas
  5076. between  the fields are necessary.  YOU MUST HAVE TWO COMMAS ON  EACH  LINE
  5077. even if you do not have a password associated with the file.
  5078.  
  5079. Some examples would be:
  5080.  
  5081.    COMMAND.COM, 10,DOS
  5082.    PAYROLL.DAT, 99,BANKRUPT
  5083.    CALLGIRL.SEX,,ILLEGAL
  5084.    \FINANCE\STOCKS,100,
  5085.  
  5086. The  file COMMAND.COM could not be downloaded unless a user had a  security
  5087. level equal to or greater than 10 AND could supply the password "DOS".  The
  5088. file PAYROLL.DAT could not be downloaded unless a user had a security level
  5089. equal to or greater than 99 AND could supply the password "BANKRUPT".   Any
  5090. user   could  download  the  file CALLGIRL.SEX if  they  could  supply  the
  5091. password   "ILLEGAL".    Any  user with a security level of 100  or  higher
  5092. could  download   the file STOCKS in the DOS subdirectory  FINANCE  without
  5093. supplying any password.
  5094.  
  5095. Additionally  "wild-card"  characters and drive designators can be used  to
  5096. protect or restrict certain classes of files (by extension, by drive, etc.)
  5097. from being downloaded.
  5098.  
  5099. Some examples would be:
  5100.  
  5101.    A:*.*,8,
  5102.    E:*.SEC,2,PW1
  5103.    A*.M*,0,GX3
  5104.    XY?X.*,9,3XG
  5105.  
  5106. All files on drive A would require the users to have a security level of  8
  5107. in  order for a user to download them.   Any user who wanted to download  a
  5108. file  whose extension was ".SEC" and was found to be on drive E would  have
  5109. to  not  only  have  a security level of at least 2 but to  also  give  the
  5110. password  PW1.   The third entry above would require a user who  wanted  to
  5111. download  any  file on any drive with a prefix that began with "A"  and  an
  5112. extension that began with "M" to have a security level of at least 0 and to
  5113. enter the password GX3.   Finally,  the last entry above would require  any
  5114. user  who  wanted to download any file on any drive whose four-letter  name
  5115. began with "XY" and whose last letter was "X" with any extension to have  a
  5116. security level of at least 9 and enter the password 3XG.
  5117.  
  5118. The  wildcards  "*"  and  "?" operate just like they do  in  DOS  with  one
  5119. exception.   The  "?"  requires  a character.   In  DOS  the  name  "HAPPY"
  5120. satisfies the file spec "HAPPY?" but it does not in RBBS.
  5121.  
  5122. To  get  exceptions to the general rule,  just put  the  exceptions  first.
  5123. RBBS-PC's  file security search stops with the first applicable entry  that
  5124. it  encounters.   For  example,
  5125.  
  5126. 1.  if you want all files on the B  drive  to require the user to have a
  5127.     security level of at least 3,
  5128.  
  5129. 2.  except that files on  the B drive with the extension ".SEC" would
  5130.     require the user to have a security level of at least 6,  and,
  5131.  
  5132. 3.  regardless of the disk drive that they were on, any file beginning
  5133.     with "MES" with an extension of ".SEC" would require the user to have
  5134.  
  5135.                        Page 79 of 135
  5136.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5137.  
  5138.     a security level of at least 12
  5139.  
  5140. you would enter the following into the file security file:
  5141.  
  5142.    MES*.SEC,12,
  5143.    B:*.SEC,6,
  5144.    B:*.*,3
  5145.  
  5146. Special Note: RBBS  is hard coded so that there are some files that  nobody
  5147.               can  download -- not even the SYSOP.   These are RBBS-PC.DEF,
  5148.               users, messages, callers, group password, comments,  the file
  5149.               security,  and  backup files.   Similarly the   batch   files
  5150.               that   control  RBBS and let the caller exit to DOS 2 can not
  5151.               be  downloaded.    The default security file   provided  with
  5152.               RBBS-PC is empty.
  5153.  
  5154. 17.5  How to Implement the Security for RBBS-PC Commands
  5155. --------------------------------------------------------
  5156. RBBS-PC allows each command to be assigned it's own security level.  A user
  5157. who  wishes  to  invoke  an RBBS-PC command must have  at  least  the  same
  5158. security level as the command.   Let's assume that a SYSOP wants to set  up
  5159. the following classes of users:
  5160.  
  5161.   Classification of Users                        Security Level
  5162.  
  5163. "Locked Out" Users                                     0
  5164. New Users (first time)                                 1
  5165. Normal Users                                           2
  5166. Users who can "view" a Conference                      3
  5167. Users who can enter Messages                           4
  5168. Users who can download files                           5
  5169. Users who can upload files                             6
  5170. Users who can Join a Conference                        7
  5171. Users who can do some SYSOP commands (Jr. SYSOP's)     8
  5172. Users who can enter a "door"                           9
  5173. Users who can enter all SYSOP commands  (Co-SYSOP's)  10
  5174.  
  5175. The  following  table  illustrates  one method of  assigning  each  RBBS-PC
  5176. command it's own security level:
  5177.  
  5178.          Subsystem/Command                Security Level
  5179.                                         Assigned to Command
  5180.           Messages Subsystem
  5181.              A>nswer questionnaire............... 4
  5182.              B>ulletins.......................... 1
  5183.              C>omments........................... 1
  5184.              D>oor subsystem..................... 9
  5185.              E>enter message..................... 4
  5186.              F>iles system....................... 1
  5187.              G>oodbye............................ 0
  5188.              I>nitial welcome.................... 1
  5189.              J>oin a conference.................. 7
  5190.              K>ill messages...................... 4
  5191.              O>perator page...................... 1
  5192.              P>ersonal mail...................... 2
  5193.              R>ead messages...................... 2
  5194.              S>can messages...................... 1
  5195.              T>opic of messages.................. 1
  5196.              U>tilities (more)................... 1
  5197.              V>iew a conference.................. 3
  5198.              W>ho's on other nodes................3
  5199.  
  5200.                        Page 80 of 135
  5201.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5202.  
  5203.          Subsystem/Command                Security Level
  5204.                                         Assigned to Command
  5205.           Files Subsystem
  5206.              D>ownload........................... 5
  5207.              G>oodbye............................ 0
  5208.              L>ist file directories.............. 4
  5209.              N>ew files.......................... 5
  5210.              S>earch directories for string ..... 1
  5211.              U>pload a file...................... 1
  5212.              V>erbose listing of ARC file........ 1
  5213.  
  5214.           Utilities Subsystem
  5215.              B>aud rate.......................... 1
  5216.              C>lock (time of day)................ 1
  5217.              F>ile transfer protocol............. 1
  5218.              G>raphics........................... 1
  5219.              L>ength of page..................... 1
  5220.              M>essage Margin..................... 1
  5221.              R>eview preferences................. 0
  5222.              S>tatistics of system............... 1
  5223.              T>oggle (line feeds, etc.).......... 1
  5224.              U>serlog............................ 2
  5225.  
  5226.           GLOBAL commands
  5227.              ?>What can be done.................. 1
  5228.              H>elp with a command................ 1
  5229.              Q>uit to another subystem or exit... 1
  5230.              X>Expert/novice toggle.............. 1
  5231.  
  5232.           SYSOP Subsystem
  5233.              1>List comments..................... 8
  5234.              2>List callers log..................10
  5235.              3>Recover a Message................. 8
  5236.              4>Erase comments.................... 9
  5237.              5>USERS maintenance.................10
  5238.              6>Toggle page bell.................. 8
  5239.              7>Exit to DOS 2.x or above.......... 9
  5240.  
  5241. 17.6  Beware of the "Trojan Horse!"
  5242. -----------------------------------
  5243. Despite RBBS-PC's security always remember that you should always assume:
  5244.  
  5245.        "EVERY FILE ON THE PC RUNNING RBBS-PC CAN
  5246.        BE DOWNLOADED, MODIFIED, AND/OR DESTROYED!"
  5247.  
  5248. RBBS-PC's security system appears to be so fool-proof that some individuals
  5249. have  resorted  to  uploading programs that appear to  do  one  thing,  but
  5250. actually  do something else.   These "trojan horse" programs search all the
  5251. disks that are connected to the PC that the program is running on for  such
  5252. RBBS files as RBBS-PC.DEF or USERS.  The program then copies these files to
  5253. an  innocuously named file that can be downloaded later when the person who
  5254. uploaded  it logs onto the system again.   Since RBBS-PC.DEF  contains  the
  5255. pseudonym  that the SYSOP can use to logon on remotely as the  SYSOP,  once
  5256. the  user downloads a copy of it the user can then log on as the SYSOP  and
  5257. do  just  about  anything including exiting to DOS and formatting  all  the
  5258. disks on the system.   Similarly, the USERS file contains passwords and the
  5259. security  levels  of everyone on your RBBS -- some of whom may  have  SYSOP
  5260. privileges.
  5261.  
  5262. You  can protect yourself against anyone logging on as you,  the SYSOP,  by
  5263. not  allowing  anyone  to logon as the SYSOP remotely.   To  do  this  read
  5264.  
  5265.                        Page 81 of 135
  5266.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5267.  
  5268. section  11 regarding parameters 3 and 4.  You can protect yourself against
  5269. unauthorized  access of the USERS file by simply not allowing any  user  to
  5270. have SYSOP privileges.
  5271.  
  5272. Of course there is the "trojan horse" program that doesn't even bother with
  5273. the above, but simply destroys all the disk files on all the disks that are
  5274. connected to the PC that is running the program.   See the rest of  section
  5275. 17 to see how you can protect yourself against such programs.
  5276.  
  5277. 18.0 SYSOP FUNCTIONS
  5278. -------------------
  5279. The SYSOP functions are not available to the general user, and it should be
  5280. noted  that  the  SYSOP should not use some of the  user  functions  either
  5281. because  the code will not work correctly if called from the main  console,
  5282. or  the  function  is  not  for use by  the  SYSOP.    Such  functions  are
  5283. the  <O>perator,   <N>ewbaud,   <PW>  password,  and  file  upload/download
  5284. using   XMODEM.    File  download using ASCII can be used to  "type"  files
  5285. available  for download so they scroll across your screen.
  5286.  
  5287. To  enter  the  SYSOP mode press the ESC key locally or enter  the  special
  5288. 'pass'  and  'word'  first  and last name  from  a  remote  terminal.
  5289.  
  5290. 18.1 SYSOP Commands Within RBBS-PC
  5291. ----------------------------------
  5292. The following operations can then be performed by entering a number only at
  5293. the command prompt:
  5294.  
  5295. 1  - Type COMMENTS file.   The contents of the COMMENTS file is  displayed.
  5296. This  file can also be inspected using a TYPE command from DOS.   It  is  a
  5297. ASCII sequential text file.
  5298.  
  5299. 2 - Type CALLERS file.   A log is maintained of all persons who have called
  5300. the  system.   This function will list the file showing the users name  and
  5301. the  date  and  time  signed  on as well as the names  of  the  files  they
  5302. upload/downloads  along with any security violation or errors  encountered.
  5303. This  is a random access file of 64-byte records.
  5304.  
  5305. 3 - Resurrect a message.  This function will return a message that has been
  5306. killed   to  an  active state.    If message file has been  "packed",   the
  5307. killed  messages are no longer recoverable.   The function will ask for the
  5308. message  number of the message to be recovered.
  5309.  
  5310. 4 - Erase the COMMENTS file.  This function will erase the comments file by
  5311. killing the file.   Since the file is opened "APPEND," a new comments  file
  5312. will be created the next time a user leaves a comment.
  5313.  
  5314. 5 - USERS file maintenance.   The users file contains entries for each user
  5315. registered  with the system.   This function permits the SYSOP to
  5316.  
  5317. A)dd -- add a user to the USERS file.
  5318. L)st -- list the USERS file.
  5319. P)rt -- print the USERS file on the printer.
  5320. M)od -- modify a record in the USERS file.
  5321. S)can - scan each record in the USERS file for a particular string.
  5322.  
  5323. In  <M>odify mode,  limiting editing of the users record in the USERS  file
  5324. can be done.  The following subfunctions are available:
  5325.  
  5326.     D - Delete a user in the USERS file.
  5327.     F - Find a user in the USERS file.
  5328.     M - Return to the option 5 function prompt.
  5329.  
  5330.                        Page 82 of 135
  5331.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5332.  
  5333.     N - Give the user a new password.
  5334.     P - Toggle the printer flag to print entries on the printer.
  5335.     Q - Quit and return to the main message prompt.
  5336.     R - Reset the users graphic mode.
  5337.     S - Set the security level of the user.  This can be used to lockout or
  5338.         grant  special privileges to the user.
  5339.     # - locate any record number within the USERS file.
  5340.  
  5341. In  <M>odify  mode  a record will be displayed followed  by  a  subfunction
  5342. prompt  for action.   To get to a specific record the record number can  be
  5343. entered  at the prompt and if valid that record will be displayed.   If the
  5344. record number is invalid or an empty c/r is entered then the next record in
  5345. the file will be displayed.
  5346.  
  5347. 6  - Toggles  the operator page bell on/off.   This overrides  the  "office
  5348. hours" specified in the RBBS-PC.DEF file.
  5349.  
  5350. 7  - SYSOP  drop to DOS as a remote user.   If  the  SYSOP  has  logged  on
  5351. remotely  and  is  running  RBBS-PC under  DOS   2.0   or   greater,   this
  5352. function  will  dynamically  setup  a batch file  to  assign   the   SYSOPS
  5353. terminal as the main console.  It then returns to DOS and if
  5354.  
  5355.        a.  CONFIG option 9 is equal to 1 with ringback equal to NO, and
  5356.  
  5357.        b.  RBBS-PC was invoked via a batch file, and if
  5358.  
  5359.        c.  that batch file checks for the batch file which RBBS-PC
  5360.            dynamically builds for option 7, and if
  5361.  
  5362.        d.  the batch file that invokes RBBS-PC executes the batch file
  5363.            that  RBBS-PC dynamically builds for option 7, and if
  5364.  
  5365. The  the SYSOP will then see the DOS prompt at the remote terminal and  can
  5366. execute  whatever DOS commands or programs the CTTY command  support.   DOS
  5367. will look for COMMAND.COM to be present on the disk drive you specified  in
  5368. option 85.  Option 7, unlike "doors," loads in a copy of COMMAND.COM to run
  5369. under the copy that was running RBBS-PC.   Also be sure to read section  19
  5370. and  make  sure  that you THOROUGHLY understands the limitations  that  DOS
  5371. places on you when this option is invoked.
  5372.  
  5373. Two   areas  of  caution are advised when using option  7  under  DOS   2.0
  5374. or above.    First,   each  SYSOP  should  test what can be done  remotely.
  5375. Software  that reads and writes directly to the video BIOS and does   other
  5376. things  that  bypass  the  standard  input and output of DOS  simply  won't
  5377. function   correctly.    Second,   you should be aware that  you are in DOS
  5378. and  can return to RBBS-PC only by issuing the EXIT  command.    This  will
  5379. return  to  the  batch file that was built dynamically by  RBBS-PC.    This
  5380. file   will   then   continue executing  and is designed  to  reassign  the
  5381. keyboard   as   the   console and then  re-invoke  RBBS-PC.    If  you  get
  5382. disconnected while in DOS,   your  system will be locked up.    The console
  5383. will  be assigned to your  communication  port  and your Hayes  modem  will
  5384. have  dropped the  line   and  will have been set not to auto-answer.   The
  5385. only way to re-boot the  system  is a manual power off/on sequence.
  5386.  
  5387. 18.2 SYSOP's Use of Function Keys
  5388. ---------------------------------
  5389. The   following  function  keys  (ten keys on the left  side  of a standard
  5390. IBM  keyboard)   are  designed  to  give the SYSOP special  local  controls
  5391. that   can   be  actuated  without entering the SYSOP mode (using  the  ESC
  5392. entry key).   The current status of the function keys F3, F4, F6 and F7 are
  5393. displayed on line 25.
  5394.  
  5395.                        Page 83 of 135
  5396.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5397.  
  5398. F1 - Return to DOS.   This will terminate a session if a caller is on-line.
  5399. In  a MultiLink environment when running RBBS-PC out of .BAT file that  re-
  5400. invokes  itself it is difficult for a SYSOP to get out of RBBS-PC and  exit
  5401. to  DOS locally using F1.   To help,  RBBS-PC now creates a special file on
  5402. the same location as the CALLERS file called RBBSxF1.DEF (where "x" is  the
  5403. node  ID -- RBBS6F1.DEF for node six).   The .BAT file that would otherwise
  5404. just re-invoke itself,  can now check for the existence of this file and if
  5405. it finds it simply terminate itself.
  5406.  
  5407. F2 - SHELL to DOS.  RBBS-PC remains resident but suspended in memory, the
  5408. user (if any) remains on-line and the local SYSOP is in DOS until the  EXIT
  5409. command is issued (returning to within RBBS-PC just prior to having pressed
  5410. the F2 key).  The users session is not terminated -- only suspended.
  5411.  
  5412. F3 - Printer toggle on/off.  This changes the printer on-line status.  When
  5413. on-line    the    printer    will   print  each caller's   name    and  the
  5414. file    names   uploaded/downloaded.    It   will   also  print  all  error
  5415. messages   except  the  ERROR 68 used to check that a  file  exists.   This
  5416. function should match  the  condition  of  the printer.   If the printer is
  5417. going  to be  left  off,   the  PRINTER toggle should be set to off.   When
  5418. the printer toggle is on "LPT," will be displayed in positions 8-11 of line
  5419. 25.
  5420.  
  5421. F4   - Operator page toggle.    This changes the status of "operator annoy"
  5422. (i.e.  allows  the  SYSOP to be pageable) and  records  the change  in  the
  5423. "node" record associated with the copy of RBBS-PC associated with  function
  5424. key  4.    This  is  set   by  the  CONFIG  program  parameter  #  7  which
  5425. establishes  the  SYSOP's office hours.   This can be used to override  and
  5426. extend the "office hours" set up by CONFIG.BAS.   When the "operator annoy"
  5427. toggle is on, "ANY" will be displayed in positions 5-7 of line 25.
  5428.  
  5429. F5 - Forces RBBS-PC to tell the modem to answer the phone.
  5430.  
  5431. F6  - SYSOP available.   This changes the status of operator available  and
  5432. records   the change in the "node" record associated with the copy of RBBS-
  5433. PC associated with  function key 6.   This is useful if during your "office
  5434. hours"  you  temporarily  don't  wish to  be  disturbed.   When  the  SYSOP
  5435. available  toggle is on,  "AVL" will be displayed in positions 1-3 of  line
  5436. 25.
  5437.  
  5438. F7  - SYSOP gets control of the system after current user logs  off.   When
  5439. the "SYSOP next" toggle is on,  "SYS" will be displayed in positions  13-15
  5440. of line 25.
  5441.  
  5442. F8  - Allows the SYSOP to grant an on-line user temporary SYSOP privileges.
  5443. This is a toggle on/off switch.
  5444.  
  5445. F9 - SNOOP toggle.  This changes the SNOOP from the default value the first
  5446. time  it  is pressed and toggles it on/off thereafter.  "SNOOP off"  clears
  5447. the  screen  and  turns the cursor off.   It also keeps the download  beeps
  5448. from  sounding.    The  SNOOP should be left off for normal use to keep the
  5449. system  startup screen from "burning into" the monitor.    If the SNOOP  is
  5450. left  on,  the  monitor should be physically turned off except when you are
  5451. observing   the  RBBS in action.   Leaving the monitor off will not  affect
  5452. performance of  the RBBS.
  5453.  
  5454. F10  - This is the forced chat switch.   It announces your forced chat  and
  5455. who you are before turning the keyboard over to you and the  caller.    The
  5456. ESC  key is used to exit Forced chat mode or to answer an "O>perator  page"
  5457. request.  The F10 key will not function until a user logging on has reached
  5458. the Main Menu.
  5459.  
  5460.                        Page 84 of 135
  5461.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5462.  
  5463. END  - Logs off and locks out the current user that is on and  informs  the
  5464. user that their presence is unacceptable.
  5465.  
  5466. PgUp  - Displays  all the information on a current user.   This display  is
  5467. kept in the video page 1 (of the 0-7 pages).   The user activity is  always
  5468. written to page 0 when SNOOP is active.  The user sees no interruption when
  5469. this occurs as his activity continues unaffected.  If you have a monochrome
  5470. display there is no video pages 1 through 7 only page 0.  This will display
  5471. on the monochrome screen the user information.
  5472.  
  5473. PgDn  - Return  to displaying video page 0 (i.e.  the page that  the  users
  5474. activity is written to when SNOOP is on).
  5475.  
  5476. The SYSOP can also enter commands on the command prompt line while a caller
  5477. is  on-line.   The command entered will cause the system to respond just as
  5478. it would if the caller had entered the command.   This should be used  with
  5479. caution because it could confuse a new system user -- users are often timid
  5480. enough  without  knowing that big brother is actually watching  them!   Let
  5481. callers  page you and then tell them that you can assist with  commands  if
  5482. the get  into trouble.
  5483.  
  5484. UP  ARROW  -- The  keyboard "up arrow" key (i.e.  one  that  generates  the
  5485. character with ASCII value 24 and which is the "8" key on the standard  IBM
  5486. keyboard's  numeric  pad  that is at the left of the keyboard)  allows  the
  5487. local  SYSOP to increment an on-line users security level by one each  time
  5488. that it is pressed.
  5489.  
  5490. DOWN  ARROW -- The keyboard "down arrow" key (i.e.  one that generates  the
  5491. character  with ASCII value 25 and which is the "2" key on the standard IBM
  5492. keyboard's  numeric  pad that is at the left of the  keyboard)  allows  the
  5493. local  SYSOP to decrement an on-line users security level by one each  time
  5494. that it is pressed.
  5495.  
  5496. 19.0 DOS LIMITATIONS ON RUNNING PROGRAMS REMOTELY
  5497. -------------------------------------------------
  5498. 19.1 How to Get DOS to Monitor Carrier Detect
  5499. ---------------------------------------------
  5500. When accessing your PC via a communications port, the carrier detect signal
  5501. tells the PC that you are on-line.  DOS's major limitation is that there is
  5502. no  way  to  tell  DOS to monitor carrier detect  automatically   when  the
  5503. standard input and output is transferred to a communication port (i.e.  via
  5504. the  CTTY command).    RBBS-PC makes sure that the carrier is  not  dropped
  5505. when  a user exits to DOS either via the "DOORS" option or using the remote
  5506. SYSOP function 8.   However, it is the  SYSOP's  responsibility  to  insure
  5507. that   whatever  programs are invoked after leaving RBBS-PC   perform   all
  5508. the  necessary  functions  to maintain the communications session and, when
  5509. exiting to return to RBBS-PC, that the carrier  is  "NOT"  dropped.
  5510.  
  5511. Most  application programs (i.e.  databases,  etc.) are not designed to  be
  5512. controlled  by  users  accessing them from  a  communications  port.   This
  5513. problem is solved when a function is invoked that:
  5514.  
  5515.   1.   Checks  to  see if the standard input and output console  have  been
  5516. assigned to an auxiliary console such as a communication port.
  5517.  
  5518.   2.  If condition 1 is true, checks to see if the carrier detect signal is
  5519. lost  by  intercepting  each  interrupt from  the  communication  port  the
  5520. auxiliary console has been assigned to.
  5521.  
  5522.   3.  If BOTH conditions 1 and 2 are true, this function would cause DOS to
  5523. switch back to the standard screen and keyboard for its operations AND then
  5524.  
  5525.                        Page 85 of 135
  5526.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5527.  
  5528. continue  processing  whatever batch file that had been executing  (if  one
  5529. was).
  5530.  
  5531. Such a function (or device driver) would provide a "fail safe" feature that
  5532. would  allow users to exit  RBBS-PC  to  use  whatever  other software  the
  5533. SYSOP  chose to make  available  (i.e.   relational databases  for  complex
  5534. inquiries   -- bibliographic,    sports,    games,    etc.).    For   those
  5535. anticipating  using  RBBS-PC's  "doors" or exiting to DOS when  you  are  a
  5536. remote SYSOP,  you are strongly encouraged to consider using the "watchdog"
  5537. utility  program  available on many bulletin board systems under such  file
  5538. names  as  WATCHDOG.COM,   WATCHDOG.ASM,  WATCHDOG.DOC,  WATCHDOG.EXE  that
  5539. monitors the communication port for you and reboots your system if  carrier
  5540. drops.   If  you don't use a program like WATCHDOG and accidentally hang up
  5541. while  in a "door" or in DOS,  you system will remain "hung" until you  can
  5542. manually reboot it.
  5543.  
  5544. If  you  aren't technically inclined and want to use  RBBS-PC  "doors",   I
  5545. suggest   you  consider   using   MultiLink   from   The   Software   Link,
  5546. Incorporated  at (404)  998-0700.   While  MultiLink  costs  about $500 and
  5547. neither RBBS-PC nor CPCUG have any connection with it,   it does provide  a
  5548. mechanism  for  overcoming  DOS's inability to have programs  invoked  from
  5549. remote users (release 2.0.6 or higher of MultiLink is required).   If  RBBS
  5550. detects  that  MultiLink is present when a user exits to DOS  via  "doors",
  5551. RBBS-PC   automatically passes control of the communications port that  the
  5552. user  is on to MultiLink so that MultiLink can do the carrier monitoring on
  5553. behalf of the application.
  5554.  
  5555. 19.2  How to Redirect Graphic Displays to Remote Users
  5556. ------------------------------------------------------
  5557. Programs that utilize the PC's built in video memory (such as the IBM BASIC
  5558. interpreter or WordStar when it writes to the 25th line) need to have  such
  5559. I/O redirected in a special way to a remote users terminal.   Additionally,
  5560. if  the I/O is redirected to the communications port,  the terminal on  the
  5561. other  end  must have a "cursor" that can be sent the  appropriate  command
  5562. sequence  to  move  it around on the remote users  terminal  as  necessary.
  5563. Without this capability, programs  made  available  through "doors" must be
  5564. line-at-a-time  programs.   This  of  course  excludes   programs  such  as
  5565. WordStar, Lotus/123 etc.
  5566.  
  5567. If  you  aren't  technically inclined and want to use RBBS-PC  "doors"  for
  5568. applications that write directly to the PC's video hardware,  I suggest you
  5569. consider   using   MultiLink   (see  section  19).   MultiLink  provides  a
  5570. mechanism  for  overcoming DOS's inability to redirect graphics  to  remote
  5571. users.   If RBBS detects that MultiLink is present when a user exits to DOS
  5572. via  "doors",  RBBS-PC  automatically passes control of the  communications
  5573. port to MultiLink and notifies MultiLink of the kind of MultiLink-supported
  5574. terminal  to redirect the application's graphics to (presumably one with  a
  5575. controlable cursor).
  5576.  
  5577. 20.0  CONFERENCING WITH RBBS-PC
  5578. -------------------------------
  5579. RBBS-PC is intended to be an open system.   The "conference" concept is one
  5580. that  allows  either  anyone  who  can  leave  messages  (i.e.  a  "public"
  5581. conference) or a pre-registered set of users (i.e.  a "private" conference)
  5582. to  engage in a specialized dialogue.   To make a  "conference"  successful
  5583. several guidelines should be followed rather rigorously:
  5584.  
  5585. 1.   Establish  a  "conference  chairman" (i.e.  a  SYSOP)  to  manage  the
  5586. conference.   The SYSOP job is to add new users, delete old ones, make sure
  5587. that  the  subject  and/or the agenda of the conference is  adhered  to  by
  5588. killing messages that are inappropriate.
  5589.  
  5590.                        Page 86 of 135
  5591.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5592.  
  5593. 2.  Establish an "agenda" or list of subject areas for the conference.  One
  5594. of  these  should be about new subject areas.   These areas should be  VERY
  5595. narrow in scope.  The essence of any good conference is keeping it focused.
  5596. Everyone  has been in at least one meeting/conference that was a  waste  of
  5597. time  because  whoever was running the meeting/conference did not keep  the
  5598. dialogue centered on the subject or agenda.
  5599.  
  5600. The  SYSOP  sets up a conference using CONFIG.BAS to pre-format up  to  two
  5601. files  -- one for the messages to be associated with the conference and one
  5602. for  the  users to be associated with a conference (if it  is  a  "private"
  5603. conference).   The file name for a "conference" can be any seven characters
  5604. that  are valid for a file name.   The eighth character must be a "M"  (for
  5605. the  messages file associated the conference) or a "U" (for the users  file
  5606. associated with the conference).   The SYSOP can then enter the  conference
  5607. member's  names in the conference USERS file by using the SYSOP function 5.
  5608. The  SYSOP  can  "join" any conference and need not be  in  any  particular
  5609. conference's USERS file.
  5610.  
  5611. To set up a conference chairman,  the SYSOP need only
  5612.  
  5613.     1.  "Join" the conference,
  5614.     2.  Use SYSOP function 5 to enter the name of the user who is to
  5615.         be the conference chairperson into the conference's USERS file.
  5616.     3.  Set that users security level in the conference's USERS file
  5617.         to a security level that can issue the SYSOP function 5.  This
  5618.         will allow the conference chairman to add users.
  5619.  
  5620. Remember  that   users  can  join a "private" conference  only  if  already
  5621. registered in that conference's USERS file.  Any registered user can join a
  5622. "public"  conference.   When  someone issues the J>oin command  to  join  a
  5623. conference,  their standard security level is temporarily superseded by the
  5624. security  level  associated with their user name within  that  conference's
  5625. USERS file if it is a "private" conference.
  5626.  
  5627. For  example,  a  normal user might be given the security required  to  add
  5628. users  to the conference USERS file for a particular conference since  they
  5629. are  the conference chairman.   When a user joins the conference  of  which
  5630. they are chairman,  their normal security is bumped up so that they can add
  5631. users to the USERS file of that particular "private" conference.   When the
  5632. same  user  exits  that conference,  their security level  is  returned  to
  5633. normal.   If they should subsequently join another conference in which they
  5634. are  not chairman,  they would be unable to add users to that  conference's
  5635. USERS  file.  Other  than  a conference chairman,  none of  the  conference
  5636. members should be given any higher security than they otherwise enjoy as  a
  5637. regular RBBS-PC users.
  5638.  
  5639. There are no limits on the number of conferences within RBBS-PC.   Here are
  5640. some examples of some conference names:
  5641.  
  5642. Conference   Conference Message   Conference Users   Conference Welcome
  5643.    Name          File Name            File Name          File Name
  5644.  
  5645.   FORSALE      FORSALEM.DEF           FORSALEU.DEF       FORSALEW.DEF
  5646.   GAMES        GAMESM.DEF             GAMESU.DEF         GAMESW.DEF
  5647.   FINANCE      FINANCEM.DEF           FINANCEU.DEF       FINANCEW.DEF
  5648.   SYSOPS       SYSOPSM.DEF            SYSOPSU.DEF        SYSOPSW.DEF
  5649.   CLONES       CLONESM.DEF            CLONESU.DEF        CLONESW.DEF
  5650.   RELIGON      RELIGONM.DEF           RELIGONU.DEF       RELIGONW.DEF
  5651.   PHILOSP      PHILOSPM.DEF           PHILOSPU.DEF       PHILSPW.DEF
  5652.   BBS          BBSM.DEF               BBSU.DEF           BBSW/DEF
  5653.  
  5654.  
  5655.                        Page 87 of 135
  5656.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5657.  
  5658. If a continuity of dialogue is to be achieved,  it is advisable to keep the
  5659. conference  "focused" -- either by keeping the number of conference members
  5660. limited  to  thirty persons or less or by keeping the subject  matter  very
  5661. narrow (i.e.  the IBM PC's 30MB disk size limitation).  Another interesting
  5662. thing  about  "private" conferences as implemented within RBBS-PC  is  that
  5663. they are not "public" and, therefore, are even more protected by the first,
  5664. fourth, and fifth amendments.
  5665.  
  5666. 21.0 RBBS-PC QUESTIONNAIRE FACILITIES
  5667. -------------------------------------
  5668. RBBS-PC  provides  a  highly sophisticated  script-driven  capability  that
  5669. allows  a SYSOP to ask new users questions or questions of users when  they
  5670. say G>oodbye.   To ask new users questions the file RBBS-REG.DEF must exist
  5671. on the same disk  as the WELCOME file.  To ask questions of users when they
  5672. say  G>oodbye  the file EPILOG.DEF must exist on the same disk as  the  the
  5673. WELCOME file.   The  SYSOP can set up the script in such a way as to  raise
  5674. or lower a new users security level based on the answers.  Contained within
  5675. the script is the file to which the answers are to be written.
  5676.  
  5677. RBBS-PC  will only activate the corresponding script files if  they  exist,
  5678. otherwise the functions are bypassed.
  5679.  
  5680. The  script files should be created with your favorite editor.   During the
  5681. testing phases both EDLIN and WordStar were used and both worked correctly.
  5682.  
  5683. All "script" files are formatted the same and contain support for:
  5684.  
  5685.      o Branch to labels
  5686.      o Display lines
  5687.      o Display line and get response
  5688.      o Response validation (Multiple choice)
  5689.      o Numeric validation
  5690.      o Forward and backward branching
  5691.      o Raising and lowering user security level
  5692.      o Aborting the questionnaire
  5693.  
  5694. The  first line in every script file must contain the file name  where  the
  5695. responses  to  the script will be appended as the first parameter  and  the
  5696. maximum  security  level  a users security level can be raised  to  as  the
  5697. second parameter..  This file can be any valid text type file.  The rest of
  5698. each script file must contain valid script commands.  Script commands are 1
  5699. character in length and must be in column 1 of each script line.
  5700.  
  5701. Following is a list and description of valid script commands:
  5702.  
  5703.      :  A colon indicates a label command
  5704.      *  An asterisk indicates a display data command
  5705.      ?  A question mark indicates a display and wait for response command
  5706.      =  An equal sign indicates a multiple choice branch command
  5707.      >  A greater than symbol indicates a goto command
  5708.      +  A plus sign indicates a raise security level command
  5709.      -  A minus sign indicates a lower security level command
  5710.      @  An "at" sign means to abort questionnaire and do not write results
  5711.  
  5712. :  Colon (Label command)
  5713.    This  command  is used to provide labels that can be branched to from  =
  5714.    and > commands.
  5715.    i.e.     :QUESTION1
  5716.  
  5717. *  Asterisk (Display data command)
  5718.    This command is used to send data to the user.
  5719.  
  5720.                        Page 88 of 135
  5721.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5722.  
  5723.    i.e.     *In order to better serve those who pass this way, I would
  5724.  
  5725. ?  Question mark (Display data and get response)
  5726.    This command is used to send data to the user and wait for a   response.
  5727.    The  user will be required to input a response.   The ENTER key alone is
  5728.    an invalid response.  No other checks are made.
  5729.    i.e.     ?DO YOU OWN YOUR OWN PC? (Y/N)
  5730.  
  5731. =  Equal sign (Response validation - Multiple choice)
  5732.    This  command  is  used  in conjunction with  the  ?  command  and  must
  5733.    immediately  follow the ?  command for which it applies.   This  command
  5734.    allows  for  checking/editing  of  single  character  responses  to  the
  5735.    preceding  ?  command and allows branch logic to be exercised  based  on
  5736.    the  response  given.   Multiple  = commands must be coded on  the  same
  5737.    line.  The format follows:
  5738.  
  5739.    =AXXXXXXXXX=BYYYYYYYYY= ZZZZZZZZZZ
  5740.  
  5741.    =  Indicates that a single character comparison value follows
  5742.    A  Is the comparison value
  5743.    X  Is the label to branch to if the response is "A"
  5744.    =  Indicates that a single character comparison value follows
  5745.    B  Is the comparison value
  5746.    Y  Is the label to branch to if the response is "B"
  5747.    =  Indicates that a single character comparison value follows
  5748.       (SPACE) This is a special comparison value that is always used as the
  5749.       last comparison value and means "INVALID" response given
  5750.    Z  Is the label to branch to if an invalid response is given
  5751.  
  5752.    Maximum line length is 255 characters and the last = on the line "MUST"
  5753.    have a comparison value of " " (SPACE).
  5754.  
  5755.    i.e.     :QUESTION1
  5756.             ?Do you run a BBS system.  (Y/N)
  5757.             =YQUESTION2=NQUESTION2= QUESTION1E
  5758.             :QUESTION1E
  5759.             *Please respond Y or N
  5760.             >QUESTION1
  5761.             :QUESTION2
  5762.  
  5763.    There  is an additional format for the = command,  where the  comparison
  5764.    value  of # (Pound sign) is used.   This is used as a numeric check  and
  5765.    encompasses 0-9,  (),  - and space.   This format requires two  entries.
  5766.    The first is to test for numerics and the second is the invalid response
  5767.    branch label.
  5768.    i.e.    =#QUESTION3= QUESTION2E
  5769.  
  5770. >  Greater than sign (Forward and backward branching)
  5771.    This  command  is  used to branch to specific labels within  the  script
  5772.    file.
  5773.    i.e.     >QUESTION4
  5774.  
  5775. +  Plus sign (Raise user security level)
  5776.    This  command will add the value in columns 2-6 to the  default security
  5777.    level given newusers or the current security level of old users.
  5778.    i.e.    +5
  5779.  
  5780. -  Minus sign (Lower user security level)
  5781.    This  command  will  subtract the value in columns 2-6  to  the  default
  5782.    security given newusers or the current security level of old users.
  5783.    i.e.     -1
  5784.  
  5785.                        Page 89 of 135
  5786.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5787.  
  5788. @  At sign (Abort questionnaire)
  5789.    This command will terminate the questionnaire and NOT write the response
  5790.    to the output file.
  5791.    i.e.     :QUESTION1
  5792.             ?Have you answered the questionnaire before.  (Y/N)
  5793.             =YQUESTION2=NQUESTION3= QUESTION1E
  5794.             :QUESTION1E
  5795.             *Please respond Y or N
  5796.             >QUESTION1
  5797.             :QUESTION2
  5798.             @
  5799.             :QUESTION3
  5800.  
  5801. The following is a sample of an RBBS-PC "ASKUSER" script file:
  5802.  
  5803. "RBBS-REG.DAT",6
  5804. *IN ORDER TO BETTER SERVE THOSE WHO PASS THIS WAY, I WOULD LIKE YOU TO
  5805. *HELP ME BY ANSWERING A FEW QUESTIONS.
  5806. *
  5807. *THANK YOU,
  5808. *
  5809. *PLEASE ANSWER THE FOLLOWING QUESTIONS:
  5810. :QUESTION1
  5811. ?DO YOU OWN YOUR OWN PC? (Y/N)
  5812. =YQUESTION2=NQUESTION2= QUESTION1E
  5813. :QUESTION1E
  5814. *PLEASE RESPOND Y OR N
  5815. >QUESTION1
  5816. :QUESTION2
  5817. *HOW OFTEN DO YOU CALL BBS SYSTEMS?
  5818. *(A) = LESS THAN 1 TIME PER WEEK
  5819. *(B) = 1-5 TIMES PER WEEK
  5820. *(C) = 5-10 TIMES PER WEEK
  5821. *(D) = MORE THAN 10 TIMES PER WEEK
  5822. ?ENTER ONE OF THE ABOVE
  5823. =AQUESTION3=BQUESTION3=CQUESTION3=DQUESTION3= QUESTION2E
  5824. :QUESTION2E
  5825. *PLEASE ENTER A,B,C OR D!
  5826. >QUESTION2
  5827. :QUESTION3
  5828. ?ARE YOU A SYSOP OF A CURRENTLY OPERATING BBS SYSTEM? (Y/N)
  5829. =YQUESTION4=NQUESTION6= QUESTION3E
  5830. :QUESTION3E
  5831. *PLEASE RESPOND Y OR N
  5832. >QUESTION3
  5833. :QUESTION4
  5834. *WHICH BBS SYSTEM DO YOU RUN
  5835. *(A) = RBBS-PC
  5836. *(B) = HOSTCOM
  5837. *(C) = BBS-PC
  5838. *(D) = FIDO
  5839. *(E) = PC-HOST
  5840. *(F) = OTHER
  5841. ?PLEASE ENTER ONE OF THE ABOVE
  5842. =AQUESTION6=BQUESTION6=CQUESTION6=DQUESTION6=EQUESTION6=FQUESTION5= QUESTION4E
  5843. :QUESTION4E
  5844. *PLEASE ENTER A, B, C, D, E OR F
  5845. >QUESTION4
  5846. :QUESTION5
  5847. ?ENTER THE NAME OF THE BBS SYSTEM THAT YOU RUN
  5848. :QUESTION6
  5849.  
  5850.                        Page 90 of 135
  5851.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5852.  
  5853. *THANK YOU FOR TAKING THE TIME TO ANSWER THESE FEW QUESTIONS.
  5854. *I HOPE YOU ENJOY RBBS-PC.
  5855.  
  5856. 22.0 RBBS-PC's EXTERNAL PROTOCOL DRIVERS
  5857. ----------------------------------------
  5858. RBBS-PC attempts to nurture the maximum amount of diversity and  innovation
  5859. as possible.   For this reason the source code has always been distributed.
  5860. The  free exchange of information,  on of RBBS-PC's two primary  objectives
  5861. requires  that  communications  occur.   With PC's this  communications  is
  5862. electronic   and  electronic  communications  fosters  a  multiplicity   of
  5863. "protocols" in which data can be exchanged.   In order to provide advocates
  5864. of  specific  protocols  a  means of  adding  their  particular  flavor  of
  5865. communications protocol to RBBS-PC a standard interface has been created.
  5866. Before calling protocol drivers, RBBS-PC will perform the following:
  5867.  
  5868.     1. verify that the file exists if the file is to be downloaded.
  5869.     2. verify that the file name requested is  valid if the file is
  5870.        to be uploaded.
  5871.     3. pass  the  communications  port  to  the  vendor's  protocol-
  5872.        handling routine with the file opened and carrier detect on.
  5873.  
  5874. RBBS-PC  will  call  the  external protocol drivers either  via  the  SHELL
  5875. command in BASIC or via a .BAT file.
  5876.  
  5877. 22.1  Parameters passed to a protocol driver.
  5878. ----------------------------------------------
  5879. RBBS-PC sets up a command string for a protocol driver as follows:
  5880.  
  5881.               drive:protocoldriver transfercommand
  5882.  
  5883. The transfercommand has the following format:
  5884.  
  5885.         protocoldriver [-x arg  [-x arg]...[-yyy]..]]
  5886.  
  5887. where  protocoldriver  is the name of the .EXE or .COM file that is  to  be
  5888. invoked  as the protocol driver,  x is an option that requires an  argument
  5889. and y is an option with no argument.
  5890.  
  5891. The arguments passed are:
  5892.  
  5893. 1.)  Send or Receive indicator:
  5894.        -s filename   send a file named "filename"
  5895.             or
  5896.        -r filename   receive a file named "filename"
  5897.  
  5898. 2.)  Communications port indicator:
  5899.        -l comm port  where "comm port" is COM1 or COM2
  5900.  
  5901. 3.)  Protocol indicator:
  5902.        protocol      where protocol = A for ASCII
  5903.                                       X for XMODEM (checksum)
  5904.                                       C for XMODEM (crc)
  5905.                                       Y for YMODEM
  5906.                                       I for IMODEM
  5907.                                       G for YMODEM G
  5908.                                       W for XMODEM (windowed)
  5909.  
  5910.  
  5911.  
  5912.  
  5913.  
  5914.  
  5915.                        Page 91 of 135
  5916.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5917.  
  5918. 4.)  Communication speed indicator:
  5919.         -b baud      where baud = 300
  5920.                                   450
  5921.                                  1200
  5922.                                  2400
  5923.                                  4800
  5924.                                  9600
  5925.                                 19200
  5926.  
  5927. 5.)   Maximum window size indicator:
  5928.         -m size      where s is an integer between 1 and 31
  5929.                              (if not present the protocol driver uses its
  5930.                               own default window size)
  5931.  
  5932. 6.)   Parity indicator:
  5933.          -p n        where n indicates no parity 8 data bits 1 start bit
  5934.            or                and one stop bit
  5935.          -n
  5936.  
  5937. To  send  a file named "A:\UTIL\TEST.BAS" using the protocol  driver  named
  5938. PCKERMIT.EXE for KERMIT located on drive C:  in the DOS subdirectory  named
  5939. \RBBS at 9600 baud on COM2 with the window size set to 31 the command would
  5940. be:
  5941.  
  5942.        C:PCKERMIT -s A:\UTIL\TEST.BAS -l COM2 -c -b 9600 -p n -m 31
  5943.  
  5944. To  send  the  same  file in the same way using  the  protocol  driver  for
  5945. windowed XMODEM protocol driver named WXMODEM.COM which can be found at the
  5946. same place as the KERMIT protocol driver the command would be:
  5947.  
  5948.        C:WXMODEM -s A:\UTIL\TEST.BAS -l COM2 -c -b 9600 -p W -n 1
  5949.  
  5950. 22.2  Parameters Returned by a Protocol Driver
  5951. ----------------------------------------------
  5952. All protocol drivers are expected to return a file named XFER-xx.DEF  where
  5953. the value for xx is the node ID (1 to 36).
  5954.  
  5955. This  file may be either of two formats.   It may consists of four  records
  5956. with each record having the parameters (i.e.  parm1) surrounded by a double
  5957. quote (i.e. ") and the record ending with a carriage return.  An example of
  5958. this type of format would be:
  5959.  
  5960.         "parm1"
  5961.         "parm2"
  5962.         "parm3"
  5963.         "parm4"
  5964.  
  5965. The  second  format that this file may have is a single  record  with  each
  5966. parameter  beginning and ending with a double quote (i.e.  ") separated  by
  5967. commas  and  the record ending with a carriage return.  An example of  this
  5968. type of format would be:
  5969.  
  5970.         "parm1","parm2","parm3","parm4"
  5971.  
  5972. The  only parameter of significance to RBBS-PC is the first letter  of  the
  5973. fourth parameter.   If it begins with an upper-case "S",  RBBS-PC considers
  5974. the  file to have been successfully transferred.   The other parameters may
  5975. be anything the protocol driver might find useful (i.e.  file  name,  size,
  5976. date/time).
  5977.  
  5978.  
  5979.  
  5980.                        Page 92 of 135
  5981.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  5982.  
  5983. 22.3  The Protocol Drivers Available for RBBS-PC
  5984. ------------------------------------------------
  5985. RBBS-PC currently has the following protocol drivers available for RBBS-PC:
  5986.  
  5987.     22.3.1 Columbia University's KERMIT Protocol
  5988.     --------------------------------------------
  5989.     PCKERMIT.EXE is supplied by The Source as a public service and consists
  5990.     of  sliding  window KERMIT protocol.  The  development  of  "windowing"
  5991.     within  the KERMIT architecture (i.e.  Super KERMIT) was funded by  The
  5992.     Source and implemented by Larry Jordan and Jan van der Eijk.
  5993.  
  5994.     The "windowing" is simply the number of blocks that can be sent  before
  5995.     a  positive  acknowledgment is needed.   In packet  switching  networks
  5996.     (such  as  Telenet and PC-Pursuit) where it takes a one-byte "ack"  the
  5997.     same amount of time to travel back to the sender as a whole  block,  it
  5998.     is  obvious that the efficiency is in reducing such handshaking between
  5999.     the sender and the receiver as much as possible.
  6000.  
  6001.     KERMIT has many similarities with RBBS-PC.   It's source code is freely
  6002.     available  to  all,  yet it is not in the "public  domain."    Columbia
  6003.     University holds the copyright and maintains the Kermit protocol.  Like
  6004.     RBBS-PC, Columbia University allows KERMIT to be passed along to others
  6005.     and "ask only that profit not be your goal, credit be given where it is
  6006.     due, and that new material be sent back to us so that we can maintain a
  6007.     definitive and comprehensive set of KERMIT implementations".
  6008.  
  6009.     PCKERMIT.EXE  is  not  a terminal program.   It simply  implements  the
  6010.     Kermit protocol,  including the sliding window extension.  It will work
  6011.     with  older  "Kermit Classic" implemenations  as  well,  via  automatic
  6012.     negotiation  between the two Kermit programs.   PCKERMIT.EXE runs as  a
  6013.     "one-shot"  execution  then  returns to  RBBS-PC.   PCKERMIT  does  not
  6014.     establish   a  carrier  with  a  remote  system.    The  connection  is
  6015.     established by RBBS-PC, RBBS-PC then drops to DOS without disconnecting
  6016.     and  invokes  PCKERMIT.EXE.   Since the documentation supplied  by  The
  6017.     Source with PCKERMIT.EXE explains the characters that are displayed and
  6018.     the  keyboard control available to the local SYSOP during  KERMIT  file
  6019.     transfers, it is not replicated here.
  6020.  
  6021.     22.3.2 YMODEM, YMODEMG, and IMODEM
  6022.     ----------------------------------
  6023.     QMXFER.COM  is  supplied by The Forbin Project as a public service  and
  6024.     supports five different protocols -- XMODEM (checksum), XMODEM (cylical
  6025.     redundancy check),  YMODEM, YMODEMG, and IMODEM. QMXFER was implemented
  6026.     by John Friel III,  author of QMODEM.  YMODEM and YMODEMG are protocols
  6027.     designed  by  Chuck Frosberg.   IMODEM is a protocol designed  by  John
  6028.     Friel  III.   The later two are designed to work when the link  between
  6029.     the two modems is "error free" (i.e.  both modems have the MNP protocol
  6030.     built  in)>  QMXFER.COM runs as a "one-shot" execution then returns  to
  6031.     RBBS-PC.   QMXFER  does  not establish a carrier with a remote  system.
  6032.     The  connection is established by RBBS-PC,  RBBS-PC then drops  to  DOS
  6033.     without disconnecting and invokes QMXFER.COM
  6034.  
  6035.     22.3.3 Windowed XMODEM
  6036.     ----------------------
  6037.     WXMODEM.COM  is supplied by The Forbin Project as a public service  and
  6038.     supports the window XMODEM protocol designed by Pete Boswell.  Like all
  6039.     of  RBBS-PC's  protocol  drivers,  WXMODEM.COM  runs  as  a  "one-shot"
  6040.     execution  then  returns  to RBBS-PC.   WXMODEM does  not  establish  a
  6041.     carrier  with a remote system.   The connection is established by RBBS-
  6042.     PC,  RBBS-PC  then  drops  to DOS  without  disconnecting  and  invokes
  6043.     WXMODEM.COM.
  6044.  
  6045.                        Page 93 of 135
  6046.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  6047.  
  6048. 23.0 UPLOADED FILE TIPS
  6049. -----------------------
  6050. If someone uploads a BASIC file to you, and it will not list on your screen
  6051. using the DOS TYPE command,  you should go into BASIC,  load the file, list
  6052. it,   then resave it using the same name.  If when you try to load the file
  6053. into  the  BASIC interpreter you get a `Direct Statement In   File'   error
  6054. printed  on  the screen,  the BASIC file has a line without a line  number.
  6055. This will not interfere  with  the  resaving of the file unless the  direct
  6056. statement  is at the beginning of the  file;   if the file lists  properly,
  6057. then  the direct statement is at the end of the  file.    If the file  does
  6058. not  list properly,  then the direct statement is at  the beginning of  the
  6059. file and has to be removed using a text editor (EDLIN)  before the  program
  6060. can be loaded and run.
  6061.  
  6062. Do  not attempt to save a BASIC file after getting the `Direct Statement In
  6063. File'  error  during loading without listing the program  first;  you  will
  6064. destroy the file otherwise.  If you wish to load an uploaded file (a  BASIC
  6065. program or any other text file) into a text editor to change the content of
  6066. the  file,  you  will first have to first add line feeds to the end of each
  6067. line  (after  each  carriage return).
  6068.  
  6069. Finally,   every  SYSOP should assume that any uploaded file him that   can
  6070. be executed (i.e.  .BAS,  .COM,  .EXE) has the capability of destroying all
  6071. the  files available to the PC it is executed on.  This may be because  the
  6072. documentation  is in error,  the program was executed incorrectly,  or  the
  6073. program   was designed to be malicious.   It behooves every SYSOP  to  know
  6074. what   every  uploaded file does in order to protect not only  the  RBBS-PC
  6075. system, but its users.
  6076.  
  6077. 24.0 DUE WARNING AND SYSOP'S LEGAL LIABILITY
  6078. --------------------------------------------
  6079. While no definitive case-law or legislation exists defining the liabilities
  6080. of System Operators, every SYSOP should assume that they are as responsible
  6081. for  their own actions when running an electronic bulletin board system  as
  6082. they  would  be for any other action as a citizen of the United States  who
  6083. chooses  to exercise their right to freedom of speech.   One of the  unique
  6084. features  of RBBS-PC is that users have to OVERTLY register  themselves  --
  6085. even  when  the RBBS-PC is "open" to the general public.   This gives  each
  6086. SYSOP the opportunity to give every user "due notice" and require each user
  6087. to  actively  acknowledge such notice.   For some SYSOP's it is simply  the
  6088. rules of their board.   For me,  the following is what I use as the text in
  6089. my NEWUSER file:
  6090.  
  6091.     "Welcome   to   the  world of RBBS-PC!    Before  continuing   you
  6092.     should  understand  your  responsibilities  as  a  RBBS-PC   user.
  6093.     Specifically they are:
  6094.  
  6095.     1.    Actively   encourage   and  promote the free  exchange   and
  6096.     discussion  of information,   ideas and opinions,  except when the
  6097.     content  would  compromise  the national security  of  the  United
  6098.     States;   violate  proprietary  rights,   personal  privacy,    or
  6099.     applicable   state/federal/local laws and  regulations   affecting
  6100.     telecommunications; or constitute a crime or libel.
  6101.  
  6102.     2.    Use   your  real  name and fully  disclose   any   personal,
  6103.     financial,   or  commercial interest when evaluation any  specific
  6104.     product or service.
  6105.  
  6106.     3.    Adhere   to  these rules and notify me immediately when  you
  6107.     discover  any violations of the rules.
  6108.  
  6109.  
  6110.                        Page 94 of 135
  6111.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  6112.  
  6113.     FURTHER   every  user explicitly acknowledges that all information
  6114.     obtained from this RBBS-PC is provided "as is" without warranty of
  6115.     any  kind,   either  expressed or  implied,   including,  but  not
  6116.     limited  to the implied warranties of merchantability and  fitness
  6117.     for  a particular purpose and that the entire risk  of  acting  on
  6118.     information  obtained from this  RBBS-PC,   including  the  entire
  6119.     costs of all necessary remedies,   is with those who choose to act
  6120.     on  such  information  and  not  the  operator  of  this  RBBS-PC.
  6121.     Register if you agree."
  6122.  
  6123. This  won't  protect you from prosecution if you allow your RBBS-PC  to  be
  6124. used for criminal activities.  However, it does serve to cause each user to
  6125. voluntarily  and OVERTLY accept my "rules" and allows me to sleep better at
  6126. night  knowing that I have given "due notice."  My own personal  philosophy
  6127. is  to  actively  pursue  and prosecute ANY user on my  board  who  I  find
  6128. engaging  in  what  appears  to  be  a  violation  of  the  above   notice.
  6129. Essentially,  if you are going to run an RBBS-PC open to the general public
  6130. as  I do,  your board's reputation and standards must be able to  withstand
  6131. public scrutiny.  If you don't feel you can maintain such standards, either
  6132. don't run a RBBS-PC or run a very, very private one (and be sure to put all
  6133. your assets in the wife's and kid's names).
  6134.  
  6135. Since I'm not a lawyer,  if you want a legal opinion on your liabilities as
  6136. a  SYSOP your only source of legal advice should be an attorney licensed to
  6137. practice  in your state.   Just remember it may not be the best advice  and
  6138. that  the  legal  liabilities regarding the  operation  of  bulletin  board
  6139. systems is unclear.
  6140.  
  6141. 25.0 COMPILING AND LINKING RBBS-PC
  6142. ----------------------------------
  6143. RBBS-PC  source code is distributed along with the executable program RBBS-
  6144. PC.EXE.   It  is NOT necessary to recompile or re-link RBBS-PC in order  to
  6145. utilize  RBBS-PC.   However,  some users may wish to modify the source  and
  6146. recompile it.   This section is intended for those hardy few who choose  to
  6147. do so.   Remember only what is distributed is supported -- anything else is
  6148. strictly yours to debug!
  6149.  
  6150. RBBS-PC's  source code is compilable by the IBM BASIC Compiler Version  2.0
  6151. as  released  by  IBM  and with the IBM updates  to  it  through  11/22/85.
  6152. Subsequent  patches released by IBM for the Version 2.0 compiler appear  to
  6153. disable the compiler to the point where it can not compile RBBS-PC.   RBBS-
  6154. PC's  source code is compilable by Microsoft's QuickBASIC Compiler  -- both
  6155. version  1.0  and version 1.02.   However Microsoft's  QuickBASIC  Compiler
  6156. version  1.01  appears  to  be  unable  to  compile  RBBS-PC.   Microsoft's
  6157. QuickBASIC  Compiler  version  2.0 generates faster code than  the  earlier
  6158. versions  but  has some bugs of its own that cause strange results  if  you
  6159. have  ANSI.SYS option activated (from RBBS-PC's CONFIG) or if you  use  the
  6160. PgUp or PgDn keys as described.   QuickBASIC Compiler Version 2.01 seems to
  6161. have corrected the problems encountered with 2.0.
  6162.  
  6163. 25.1 Compiling CONFIG and RBBS-PC
  6164. ---------------------------------
  6165. Version  CPC15-1A  of RBBS-PC's .EXE file is distributed after having  been
  6166. compiled  with  QuickBASIC  Version 2.01 compiler that had  the  DTR  patch
  6167. described  in  Appendix R applied to it.
  6168.  
  6169. CONFIG.EXE is generated from compiling with multiple BASIC source files  --
  6170. CNFG-VAR.BAS, CONFIG.BAS, CNFG-SUB.BAS. The output of the multiple compiles
  6171. (CONFIG.OBJ  and  CNFG-SUB.OBJ) generate multiple .OBJ input files  to  the
  6172. LINK step that create CONFIG.EXE.
  6173.  
  6174.  
  6175.                        Page 95 of 135
  6176.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  6177.  
  6178. The  BASIC  compiler command to compile for all but the QuickBASIC  version
  6179. 2.0 compiler should be:
  6180.  
  6181.      BASCOM  CONFIG.BAS,, /E/O/C:2048;
  6182.      BASCOM  CNFG-SUB.BAS,, /E/O;
  6183.  
  6184. The command for QuickBASIC version 2.0 is slightly different and should be:
  6185.  
  6186.      QB  CONFIG.BAS /E /O /C:2048;
  6187.      QB  CNFG-SUB.BAS /E /O;
  6188.  
  6189. Compiling  CONFIG  requires that CNFG-VAR.BAS be in the sub-directory  from
  6190. which they are being compiled.
  6191.  
  6192. RBBS-PC.EXE is generated from compiling with multiple BASIC source files --
  6193. RBBS-VAR.BAS,  RBBS-PC.BAS,  RBBSSUB1.BAS, RBBSSUB2.BAS.  The output of the
  6194. multiple  compiles (RBBS-PC.OBJ,  RBBSSUB1.OBJ,  and RBBSSUB2.OBJ) generate
  6195. multiple .OBJ input files to the LINK step that, along with some other .OBJ
  6196. files, create RBBS-PC.EXE.
  6197.  
  6198. The BASIC compiler command for all but the QuickBASIC version 2.0  compiler
  6199. should be:
  6200.  
  6201.      BASCOM  RBBS-PC.BAS,, /E/C:4096/O;
  6202.      BASCOM  RBBSSUB1.BAS,, /X/C:4096/O;
  6203.      BASCOM  RBBSSUB2.BAS,, /O;
  6204.  
  6205. The command for QuickBASIC version 2.0 is slightly different and should be:
  6206.  
  6207.      QB  RBBS-PC.BAS /E /C:4096 /O;
  6208.      QB  RBBSSUB1.BAS /X /C:4096 /O;
  6209.      QB  RBBSSUB2.BAS /O;
  6210.  
  6211. If you are utilizing the IBM BASIC compiler Version 2.0,  you will need  to
  6212. also use the /N parameter when compiling.
  6213.  
  6214. Compiling  RBBS-PC requires that RBBS-VAR.BAS be in the sub-directory  from
  6215. which they are being compiled.
  6216.  
  6217. The  BASIC compiler library routines have a NASTY bug in them for those who
  6218. would  like to allow KERMIT protocol to be used,  exit to DOS as  a  remote
  6219. SYSOP, or exit to a "door."
  6220.  
  6221. If you re-compile RBBS-PC and desire to utilize any of these three  RBBS-PC
  6222. functions,  YOU  MUST  patch  your  compiler's libraries  as  described  in
  6223. Appendix R.!
  6224.  
  6225. 25.2 LINKing CONFIG
  6226. -------------------
  6227. CONFIG.OBJ can be LINKed to produce CONFIG.EXE with the command
  6228.  
  6229.      LINK CONFIG+CNFG-SUB+RBBSUTIL+xxxCOM,CONFIG.EXE,,C:/E;
  6230.  
  6231. assuming  that all the required files are on the C drive.
  6232.  
  6233. NOTE:  xxxCOM  must be replaced with GWCOM if using the QuickBASIC compiler
  6234.        and  IBMCOM if using the IBM Version 2.0 compiler.   Also,  if using
  6235.        the QuickBASIC compiler you may also want to link with the .OBJ file
  6236.        that accompanies the compile call PREFIX.
  6237.  
  6238.  
  6239.  
  6240.                        Page 96 of 135
  6241.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  6242.  
  6243. 25.3 LINKing RBBS-PC
  6244. --------------------
  6245. RBBS-PC.OBJ  can  be LINKed to produce RBBS-PC.EXE with the LINKer  command
  6246. (all on one line):
  6247.  
  6248. LINK RBBS-PC+RBBSSUB1+RBBSSUB2+xxxCOM+QB2ARCV+ANSI+XMODEM+RBBSML+BDRIVEC2+
  6249.      PC-NET+10NET+RBBSUTIL+RBBSDV+PREFIX,,,C:MNP.LIB/MAP/LINE;
  6250.  
  6251. NOTE:  xxxCOM  must be replaced with GWCOM if using the QuickBASIC compiler
  6252.        and IBMCOM if using the IBM Version 2.0 compiler.  PREFIX is only
  6253.        required if linking with Microsoft's QuickBASIC compiler output.
  6254.  
  6255.        XMODEM.OBJ and RBBSUTIL.OBJ are different .OBJ from earlier
  6256.        versions OF RBBS-PC.  MAKE SURE YOU HAVE THE CORRECT ONE!
  6257.  
  6258. The above LINK command assumes that all the necessary .OBJ files are on the
  6259. default drive and the necessary .LIB files are on the "C" drive.
  6260.  
  6261. 26.0 LIMITED LICENSE
  6262. --------------------
  6263. The   RBBS-PC software is copyrighted but A LIMITED LICENSE IS GRANTED  and
  6264. each user is free to use and share it under the following conditions:
  6265.  
  6266.     1. You may NOT distribute RBBS-PC in modified form.
  6267.     2. You may NOT charge a fee for RBBS-PC itself,  and
  6268.     3. You MUST retain all references to the copyright and authors.
  6269.  
  6270. Please  distribute the original version (or update thereof) of the program.
  6271. If  you have changes please distribute them using the conventions described
  6272. in  section 1.4.    This is necessary so that  future  revisions   can   be
  6273. easily added to the system without requiring the  entire  program.
  6274.  
  6275. Please do NOT resequence the program.   All revisions will be as files that
  6276. replace  the  base program or update thereof and the existing line  numbers
  6277. will be referenced when describing new fixes and enhancements.
  6278.  
  6279. 27.0 LIMITED WARRANTY
  6280. ---------------------
  6281. The  RBBS-PC  program  is provided "as is" without warranty  of  any  kind,
  6282. either  expressed  or implied,   including  but not limited to the  implied
  6283. warranties  of merchantability and fitness for a particular  purpose.   The
  6284. entire  risk as to the the quality and performance of the program  is  with
  6285. the  user,   and  should  the program prove defective,  the user  and   not
  6286. the   authors will assume the entire cost of all necessary remedies.   None
  6287. of  the  authors  warrant that the functions contained in the program  will
  6288. meet   any   users'    requirements   or  that   the   operation   of   the
  6289. program   will    be  uninterrupted or error-free.    In  any  case,   each
  6290. author's entire liability  will  be  limited  to the total amount of  money
  6291. the  individual  user  paid  directly and explicitly to each author for the
  6292. use of RBBS-PC.
  6293.  
  6294. 28.0 UPGRADING FROM CPC14-1D TO CPC15-1A
  6295. ----------------------------------------
  6296. Before  upgrading from CPC14-1D to CPC15-1A,  you should follow these  five
  6297. steps:
  6298.  
  6299.    1.    Create backup files of all your current USERS, MESSAGES, and
  6300.          RBBSxPC.DEF files.
  6301.  
  6302.    2.    Print out all the options you selected on your current RBBSxPC.DEF
  6303.          file.
  6304.  
  6305.                        Page 97 of 135
  6306.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  6307.  
  6308.    3.    Delete your current RBBSxPC.DEF file.
  6309.  
  6310.    4.    Run CONFIG, version 3.00 and re-enter the options you had selected.
  6311.  
  6312.    5.    If you have a Hayes 2400 modem make sure that you use CONFIG
  6313.          to initialize the Hayes 2400 default settings.
  6314.  
  6315.    6.    The format of the PASSWORDS file has changed, see section 17.3 for
  6316.          details.
  6317.  
  6318. PLEASE  NOTE!!!!!  ---- CPC15-1A has a new CONFIG.BAS (version  3.00)  that
  6319. replaces  the  older  versions of CONFIG.BAS and the .DEF files  that  they
  6320. created!  While  CPC14-1D's  .DEF file (from CONFIG.BAS version  2.20)  may
  6321. appear  to  work,  you will get unusual results.
  6322.  
  6323. If you wish to convert to the new File Management System (FMS),  follow the
  6324. documentation  included with the utilities in CNVDIR.ARC.   If you  haven't
  6325. run  RBBS-PC,  prior to receiving 15-1A,  there is no need to use the files
  6326. contained in CNVDIR.ARC.
  6327.  
  6328. 29.0 PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE
  6329. ----------------------------------------------------
  6330. As  PC's  (IBM's  and others)  become  more  common in homes  and  offices,
  6331. their  use as vehicles  for  information  exchange continues to grow  -- as
  6332. so  eminently  attested  by the astounding growth  of  RBBS-PC  itself!   A
  6333. national   meeting  of  SYSOP's  could foster this  growth  in  information
  6334. exchange;  assist   in  focusing on the issues (regulatory and   otherwise)
  6335. that  foster/inhibit  this growth;  and act as a forum for  new  ideas.   A
  6336. national   meeting,   perhaps  sponsored by the Capital PC  User  Group  or
  6337. even  a consortium of other not-for-profit PC user groups could be held .
  6338.  
  6339. SYSOP's   are  not only in the big corporations but also in  the   millions
  6340. of     small    businesses,     non-profit    associations,     educational
  6341. institutions  in which the RBBS-PC concept has found  a  home.    They  are
  6342. often  the decision influencers in their organizations or area  -- as  U.S.
  6343. Robotics  discovered when they introduced their Courier 2400 baud modem  so
  6344. successfully.  As  I expect most who would attend would be paying their own
  6345. way,   the   first   conference  would  probably  consist of   that   small
  6346. "band   of  brothers"  who  have  set  up boards out of  the  intensity  of
  6347. their  own  commitment.
  6348.  
  6349. My   own   vision of such a conference is sort of   a   1980's   electronic
  6350. "Woodstock"   -- if   for no other reason  because  of  the  very   "volks"
  6351. nature  of  SYSOPS.    It  has  been a long time since  there  has  been  a
  6352. conference "of the people, by the people, and for the people."
  6353.  
  6354. What follows is a hypothetical agenda of what might be of interest at  such
  6355. a  conference.   The agenda consists of a "technical" and a "non-technical"
  6356. (management?) set of sessions as follows:
  6357.  
  6358.                  "technical sessions"         "non-technical sessions"
  6359.  
  6360.  8:30 - 10:00    RBBS-PC Record Layouts       How to Copyright Software --
  6361.                  (CALLERS, USERS, and         its protection and penalties
  6362.                   MESSAGES files)             for violation of copyrights.
  6363.  
  6364. 10:30 - 12:00    Multi-Port RBBS-PC           1986 Computer Privacy Act and
  6365.                  Systems -- actual            "computer trespass" laws at
  6366.                  experiences.                 the State level.
  6367.  
  6368.  
  6369.  
  6370.                        Page 98 of 135
  6371.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  6372.  
  6373. 12:00 - 1:30           Luncheon with a nationally known guest
  6374.                           speaker (any suggestions?)
  6375.  
  6376.  1:30 - 3:00     RBBS-PC "doors" and          Business Applications of
  6377.                  "doorware" explained.        Bulletin Board Systems
  6378.  
  6379.  3:30 - 5:00     Modems -- beyond 2400        The use of RBBS-PC in local,
  6380.                  baud.                        State, and Federal agencies.
  6381.  
  6382.  5:00 - 6:30           CONNECT TIME! -- Vendor Presentations
  6383.                                and Receptions
  6384.  
  6385. If   you  are with a manufacturer or organization that might be  interested
  6386. in   sponsoring  such a meeting,   work with your organization to  make  it
  6387. happen!  If  in  the  normal course of your business  contacts  you  see  a
  6388. potential  sponsor  of  such  a conference,  persuade  them  to  look  into
  6389. being  a sponsor.   I would be glad to talk with anyone about going forward
  6390. with this project.
  6391.  
  6392. If  you are interested in participating, write me at the following address:
  6393.  
  6394.          Tom Mack
  6395.          National SYSOP Conference
  6396.          10210 Oxfordshire Road
  6397.          Great Falls, Virginia 22066
  6398.  
  6399. Please indicate
  6400.  
  6401.           1.  Which four sessions you would attend (in order
  6402.               of preference).
  6403.  
  6404.           2.  Any additional sessions you would be interested in.
  6405.  
  6406.           3.  Who would you want as a guest speaker at the
  6407.               luncheon.
  6408.  
  6409.           4.  Where you would like such a conference held
  6410.               from among the following five locations:
  6411.  
  6412.                        a.) Boston, Mass.
  6413.                        b.) Chicago, Ill.
  6414.                        c.) Houston, Texas
  6415.                        d.) San Francisco, Calif.
  6416.                        e.) Washington, D.C.
  6417.  
  6418.           5.  Your mailing address.
  6419.  
  6420.           6.  Telephone numbers you can be reached at (both voice
  6421.               and data).
  6422.  
  6423.           7.  And if you would be willing to be a "worker" as
  6424.               well as an attendee -- i.e. stuff envelopes, keep
  6425.               the mailing list, make hotel arrangements, etc.
  6426.  
  6427. My  greatest  fear is not that there will be fifty of us -- but that  there
  6428. will be 2,000 of us!  Whatever happens, it should be fun.
  6429.  
  6430. 30.0  RBBS-PC, THE  LARGEST  SOFTWARE  HOUSE IN THE WORLD
  6431. ---------------------------------------------------------
  6432. RBBS-PC'S  "Userware" concept is founded on the principle stated in section
  6433. 1.0  -- "software which is shared becomes better than it was."  Relying  on
  6434.  
  6435.                        Page 99 of 135
  6436.  RBBS-PC CPC15-1A, Copyright 1987 by D. Thomas Mack       March 15, 1987     
  6437.  
  6438. Federal  copyright protection,  it is my firm belief that RBBS-PC's  source
  6439. code  can be distributed without the risk of "loss of ownership"  (i.e.  it
  6440. becoming "public domain").   In fact I think that all software  (commercial
  6441. and non-commercial) should be distributed as both compiled/executable files
  6442. and with their source code.   With one exception, RBBS-PC's copyrights have
  6443. never  been  violated  -- this  is  due  more  to  the  fact  that  RBBS-PC
  6444. enthusiasts  are  ever-vigilant of RBBS-PC's copyrights rather than due  to
  6445. any  lack  of  attempts to "sell" RBBS-PC or  RBBS-PC  look-alikes  to  the
  6446. unsuspecting public.
  6447.  
  6448. Incorporating  these new features and ideas into each new release of  RBBS-
  6449. PC,  making  sure that upward compatibility with earlier version of RBBS-PC
  6450. exists,  as well as maintaining RBBS-PC's copyright,  are all things that I
  6451. accept the responsibility for.   However,  it is RBBS-PC's "support  staff"
  6452. (i.e.  all  those  who  enhance RBBS-PC and share such  enhancements)  that
  6453. continues to make RBBS-PC a unique experiment in PC software.
  6454.  
  6455. No one should feel that the possibilities for RBBS-PC have even begun to be
  6456. exhausted.   In fact,  I am absolutely certain that even as this is written
  6457. innovative  enhancements are being created for RBBS-PC that I haven't  even
  6458. mentioned.   It  is my sincerest hope that if RBBS-PC continues to  succeed
  6459. within  the  IBM  PC industry in becoming  the  "bulletin-board  standard,"
  6460. software vendors will begin examining the reasons for RBBS-PC's success and
  6461. come to understand that
  6462.  
  6463. 1.  The best form of software support is user support;
  6464.  
  6465. 2.  The best source for software enhancements are from it's users;
  6466.  
  6467. 3.  The best software continually adopts itself to users needs; and
  6468.  
  6469. 4.  The best way to minimize software development is to distribute
  6470.     source code;
  6471.  
  6472. Each  RBBS-PC  system operator has the opportunity to affect  what  RBBS-PC
  6473. becomes in the future.   Many already have.   RBBS-PC continues to grow and
  6474. expand because hundreds (and quite possibly thousands) of SYSOP's spend the
  6475. time  and trouble not only to modify RBBS-PC to meet their needs,  but also
  6476. to  share  these modifications with others.   I do not know  of  any  other
  6477. software  for  the  IBM  PC  that has such a  vast  number  of  programmers
  6478. supporting it.   In section 1.3,  I name more than 70 such individuals  and
  6479. acknowledge  that there are a lot more!   With the structured design  RBBS-
  6480. PC's  source code that the new BASIC compilers allowed,  even more  RBBS-PC
  6481. system  operators  are invited to contribute.   Take the  time!   Make  the
  6482. difference!
  6483.  
  6484.  
  6485.  
  6486.  
  6487.  
  6488.  
  6489.  
  6490.  
  6491.  
  6492.  
  6493.  
  6494.  
  6495.  
  6496.  
  6497.  
  6498.  
  6499.  
  6500.                        Page 100 of 135